首页 > 编程知识 正文

SHELL从APNIC获取IP地址

时间:2023-05-03 10:07:27 阅读:218762 作者:2879

如下代码:菜鸟写的


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 #!/bin/bash wget http: //ftp .apnic.net /apnic/stats/apnic/delegated-apnic-latest FILE=delegated-apnic-latest grep  "apnic|CN|ipv4"  $FILE |  awk  -F  "|"  '{print $4,$5}'  > IP.txt AB=` cat  IP.txt |  wc  -l` pow=32 i=1 while (($i<=$AB)); do          IP=` sed  -n ${i}p IP.txt |  awk  '{print $1}' `          HOST=` sed  -n ${i}p IP.txt |  awk  '{print $2}' `          hxdyl=` echo  "obase=2;$HOST"  |  bc `          HOSTL=` echo  ${ #hxdyl}`          let  BU=$pow-$HOSTL          ZQIAN= "11111111111111111111111111111111"          QIAN=` echo  ${ZQIAN:0:$BU}`          MASK=` echo  $QIAN$hxdyl`          STRA=` echo  ${MASK:0:8}`          STRB=` echo  ${MASK:8:8}`          STRC=` echo  ${MASK:16:8}`          STRD=` echo  ${MASK:24:8}`          MASKA=` echo  "ibase=2;$STRA"  |  bc `          MASKB=` echo  "ibase=2;$STRB"  |  bc `          MASKC=` echo  "ibase=2;$STRC"  |  bc `          MASKD=` echo  "ibase=2;$STRD"  |  bc `          NETMASK=` echo  $MASKA.$MASKB.$MASKC.$MASKD`          BIT=` echo  $MASK |  grep  -o  '1'  |  wc  -l`          echo  $IP/$NETMASK          echo  $IP/$NETMASK >> IP.SH          let  i++ done rm  -rf IP.txt $FILE

获得的IP格式如下:

1 2 3 4 5 6 223.112.0.0 /255 .252.0.0 223.116.0.0 /255 .254.0.0 223.120.0.0 /255 .248.0.0 223.128.0.0 /255 .254.0.0 223.144.0.0 /255 .240.0.0 223.160.0.0 /255 .252.0.0
      本文转自flyingzf  51CTO博客,原文链接:http://blog.51cto.com/flyingzf/1330494,如需转载请自行联系原作者

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。