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

公司业务调整,对日志进行分析时,想要同时显示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
nali-1 2. 查找请求IP并显示来自哪里(常用于查找攻来源)
# netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|nali | sort -nr|head -n20
nali-2 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-3 对于nali-dig、nali-nslookup、nali-ping、nali-tracepath、nali-traceroute这几个命令,大家就各自去试试,简单明了,这里就不演示了。 转载请注明来之 运维生存时间:http://www.ttlsa.com/html/3304.html

你可能感兴趣的:(ip归属地,ISP,IP地址库,nali,纯真IP数据库,QQWry.Dat)