您的位置:首页 > 运维架构 > 网站架构

使用脚本在ip138网站查看IP归属

2010-05-27 11:23 381 查看
在linuxtone网站上偶尔看到一篇文章,http://bbs.linuxtone.org/viewthread.php?tid=6319 贴下地址,通过ip138查找ip归属地,用脚本写的,很方便了,省的打开网站查,于是就拓展了下,可以用来查看nginx或apache日志中的访问IP,在工作中,查看日志中Ip的归属地是很常见的事,于是以下列为例,做个实验:
1.假如apache的日志为***.log,里面的日志格式为LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
2.从日志中提取ip地址,可使用命令:
cat ***.log | awk '{print $1}' | sort -nu > ip.txt
3.用脚本来查看Ip归属
vi 138.sh
#!/bin/bash
while read line
do
echo -en "$line \x20"
wget -q "http://www.ip138.com/ips.asp?ip=${line}&action=2" -O - | awk -F'[<>]' '/ul class="ul1"/{print $7}' | awk -F'[:]' '{print $2}'
done < ip.txt
4.sh 138.sh 执行便能看到效果,大家可以试试

注:在第3步里面,做的有原文章稍有区别,在我测试的时候,secureCRT的字符已调成utf-8,可以显示中文,如不能显示的话,可以加管道,添加:iconv -f gbk -t utf-8,最后我又用了一次awk,以:分隔,这里的:是有在ip138中的,所以输入时要调一下输入法,输入中文的:。本文出自 “理想CTO” 博客,请务必保留此出处http://wanglq.blog.51cto.com/783560/322053
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: