用于查询ip所在地的shell脚本

发布时间:2020-05-20编辑:脚本学堂
本文介绍下,用shell脚本实现,查询某一Ip地址的所在地,现在这个用的比较多,有兴趣的朋友,建议参考学习下。

1,查看ip所在地的shell/ target=_blank class=infotextkey>shell脚本
 

复制代码 代码示例:
#!/bin/bash
read -p "请输入要查询的IP地址:" ip
wget -q http://www.ip138.com/ips.asp?ip=$ip&action=2
sleep 1
echo "$ip 的地理位置是:`cat ips.asp?ip=$ip|grep "<li>"|linuxjishu/13830.html target=_blank class=infotextkey>awk -F '<li>' '{print $2,$3,$4}'|awk -F '</li>' '{print $1,$2,$3}'`"
rm -f ips.asp?ip=$ip

2,抓取页面信息,通过ip168查询IP归属地的shell脚本
 

复制代码 代码示例:
#!/bin/bash
while read line
do
echo $line
ip=$(echo -en $line | awk '{print $3}' | awk -F"/" '{print $1}')
echo $ip
add=$(wget -q http://www.ip168.com/ip/?ip=${ip} -O - | grep "本站主数据" | sed  's/^[ t]*//' | awk -F"</div>" '{print $1}' | sed 's/<div>本站主数据
://')
echo $add
echo -en $line | sed "/${ip}/s/(.*)/1 $addn/" >> ip_addr.txt
done < ip.txt

如果从ip138取,需要用下面的替换掉上面的add部分:
 

复制代码 代码示例:
add=$(wget -q "http://www.ip138.com/ips.asp?ip=210.51.61.195&action=2" -O -| iconv -f gbk -t utf-8 | grep "数据" | awk -F"ul" '{print $3}' | awk
-F"</li>" '{print $1$2}' | awk -F"<li>" '{print $2"n"$3}' | head -1)