欢迎光临
我们一直在努力

从APNIC查IP所属地BASH版

#!/usr/bin/env bash#! Encoding UTF-8PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin:/home/coremail/binexport PATHMY_IP=$1READ_APNIC_IPFILE=”delegated-afrinic-latest delegated-apnic-latest delegated-arin-latest delegated-iana-latest delegated-lacnic-latest delegated-ripencc-latest”for TMP_FILE in ${READ_APNIC_IPFILE}; dowget -N http://ftp.apnic.net/pub/stats/afrinic/${TMP_FILE} -O /tmp/${TMP_FILE}donePROCESS_NUMS=20TMP_FIFO_FOR_PROCESS=”/tmp/$$_06.fifo” && mkfifo “${TMP_FIFO_FOR_PROCESS}” && exec 6<>”${TMP_FIFO_FOR_PROCESS}” && rm “${TMP_FIFO_FOR_PROCESS}”for 便宜美国vps ((i=0;i<${PROCESS_NUMS};i++));do echodone >&6SUBNET_MASK(){TMPpgdb=$1TMP_MASK=$(echo “obase=2;${TMPpgdb}-1″|bc)echo “32-${#TMP_MASK}”|bc}IP_CHANGE_TO_NUM(){IP_ADDR=$1IP_NUM=$(echo ${IP_ADDR}|awk -F. ‘$1<=255&&$2<=255&&$3<=255&&$4<=255;BEGIN{OFMT=”%.f”}{print $1*256*256*256+$2*256*256+$3*256+$4}’|tail -1)echo ${IP_NUM}}MY_IP_NUM=$(IP_CHANGE_TO_NUM ${MY_IP})cd /tmp/cat ${READ_APNIC_IPFILE}|grep ‘apnic|.*|ipv4|’ | cut -f 2,4,5 -d’|’ | sed -e ‘s/|/ /g’| while read area ip cntdoread -u6{TMP_IP_NUM=$(IP_CHANGE_TO_NUM ${ip})TMP_IP_NUM_MAX=$(echo ${TMP_IP_NUM}+${cnt}|bc)if [ ${MY_IP_NUM} -ge ${TMP_IP_NUM} -a ${MY_IP_NUM} -le ${TMP_IP_NUM_MAX} ]; thenecho “${MY_IP} is in \”$area $ip/$(SUBNET_MASK $cnt)\””fiecho >&6} &donewaitexec 6>&- <p甜美的电源载于:https://my.oschina.net/u/217347/blog/737480

90038638

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。