批量获取ip运营商_获取各个ISP运营商IP地址修正版[菜鸟级]

#!/bin/bash

#getip

#connect wy.cn

FILE=delegated-apnic-latest

if [ ! -f $FILE ];then

wget http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest

fi

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`

NET=`whois -h whois.apnic.net $IP | grep "mnt-by"`

NUM_A=`echo $NET | grep 'CHINA' | wc -l`

NUM_B=`echo $NET | grep 'CNCGROUP' | wc -l`

NUM_C=`echo $NET | grep 'CERNET' | wc -l`

NUM_D=`echo $NET | grep 'CMCC' | wc -l`

if(($NUM_A>0));then

echo $IP/$NETMASK ................CHINATELECOM

echo $IP/$NETMASK >> CHINATELECOM.TXT

let i++

continue

fi

if(($NUM_A>0));then

echo $IP/$NETMASK ................CHINATELECOM

echo $IP/$NETMASK >> CHINATELECOM.TXT

let i++

continue

fi

if(($NUM_B>0));then

echo $IP/$NETMASK ................CNCGROUP

echo $IP/$NETMASK >> CNCGROUP.TXT

let i++

continue

fi

if(($NUM_C>0));then

echo $IP/$NETMASK ................CERNET

echo $IP/$NETMASK >> CERNET.TXT

let i++

continue

fi

if(($NUM_D>0));then

echo $IP/$NETMASK ................CMCC

echo $IP/$NETMASK >> CMCC.TXT

let i++

continue

fi

let res=$NUM_A+$NUM_B+$NUM_C+$NUM_D

if(($res==0));then

echo $IP/$NETMASK ................OTHER

echo $IP/$NETMASK >> OTHER.TXT

let i++

fi

done

rm -rf IP.txt $FILE

得到IP地址文件分类如下

CERNET.TXT  CHINATELECOM.TXT  CMCC.TXT  CNCGROUP.TXT  OTHER.TXT  getip

CERNET.TXT是教育网

CHINATELECOM.TXT是中国电信

CMCC.TXT是中国移动

CNCGROUP是中国联通

OTHER.TXT是其他的 大部分是CNNIC分配的IP地址

getip是脚本文件名

如果找不到whois命令  从如下地址下载安装http://ftp.apnic.net/apnic/dbase/tools/ripe-dbase-client-v3.tar.gz

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值