您的位置:首页 > 数据库

给输出的IP附加上地理信息和所属ISP

2014-03-23 00:00 246 查看
公司业务调整,对日志进行分析时,想要同时显示IP所在地以及所属ISP,用脚本获取日志IP再逐条通过第三方接口查询显的很笨拙又要联网查询效率方面可想而知,可参见《
使用PHP+淘宝IP地址库接口获得IP所属地理位置》。找到了一款工具nali,取自中文“哪里”的拼音。包含的命令有nali、nali-dig、nali-nslookup、nali-ping、nali-tracepath、nali-traceroute、nali-update。主要功能就是把一些网络工具的输出的IP字符串,附加上地理位置信息(使用纯真数据库QQWry.Dat),查询是在本地进行的,不会联网查询。 一. 安装nali
# wget https://qqwry.googlecode.com/files/nali-0.2.tar.gz # tar zxvf nali-0.2.tar.gz
# cd nali-0.2
# ./configure --help
# make
# make install
二. 更新IP数据库 在使用nali之前,先更新IP数据库到最新版本。
# nali-update
Updating /usr/local/share/QQWry.Dat
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100 8932k  100 8932k    0     0   336k      0  0:00:26  0:00:26 --:--:--  370k
Successfully Updated
三. 使用实例 1. 统计nginx访问日志并查看来自哪里
# cat www.ttlsa.com-aceess.log | awk '{print $1}' | sort | uniq -c | nali | sort -rnk1 | head -n 20



2. 查找请求IP并显示来自哪里(常用于查找攻来源)
# netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|nali | sort -nr|head -n20



3. 用tcpdump嗅探80端口的访问谁最高并显示来自哪里
# tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c|nali | sort -nr |head



对于nali-dig、nali-nslookup、nali-ping、nali-tracepath、nali-traceroute这几个命令,大家就各自去试试,简单明了,这里就不演示了。 转载请注明来之
运维生存时间:http://www.ttlsa.com/html/3304.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息