SHELL从APNIC获取IP地址

如下代码:菜鸟写的


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}'`
        ERHOST=`echo "obase=2;$HOST" bc`
        HOSTL=`echo ${#ERHOST}`
        let BU=$pow-$HOSTL
        ZQIAN="11111111111111111111111111111111"
        QIAN=`echo ${ZQIAN:0:$BU}`
        MASK=`echo $QIAN$ERHOST`
        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,如需转载请自行联系原作者




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值