- A+
公司业务调整,对日志进行分析时,想要同时显示IP所在地以及所属ISP,用脚本获取日志IP再逐条通过第三方接口查询显的很笨拙又要联网查询效率方面可想而知,可参见《使用PHP+淘宝IP地址库接口获得IP所属地理位置》。找到了一款工具nali,取自中文“哪里”的拼音。包含的命令有nali、nali-dig、nali-nslookup、nali-ping、nali-tracepath、nali-traceroute、nali-update。主要功能就是把一些网络工具的输出的IP字符串,附加上地理位置信息(使用纯真数据库QQWry.Dat),查询是在本地进行的,不会联网查询。
一. 安装nali
1 2 3 4 5 6 |
# 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数据库到最新版本。
1 2 3 4 5 6 |
# 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访问日志并查看来自哪里
1 |
# cat www.ttlsa.com-aceess.log | awk '{print $1}' | sort | uniq -c | nali | sort -rnk1 | head -n 20 |
2. 查找请求IP并显示来自哪里(常用于查找攻来源)
1 |
# netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|nali | sort -nr|head -n20 |
3. 用tcpdump嗅探80端口的访问谁最高并显示来自哪里
1 |
# 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

微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
19/04/2016 上午 10:21 沙发
ip库不准,差太多了
22/07/2015 下午 3:30 板凳
小工具有时候很有用!! :wink: