nali简介
nali,名字取自中文“哪里”的拼音。
nali包含一组命令行程序,其主要功能就是把一些网络工具的输出的IP字符串,附加上地理位置信息(使用纯真数据库)。
例如218.65.137.1会变成218.65.137.1[广西南宁市 电信]。
查询是在本地进行,并不会进行联网查询,所以效率方面不会有什么影响。
目前包含以下几个命令:
nali
nali-dig
nali-nslookup
nali-traceroute
nali-tracepath
nali-ping
使用这些命令的前提是,他们对应的命令必须存在。例如你要用nali-dig,必须保证dig是存在的。他们的用法和原始命令是一样的。例如nali-dig,用法就和dig一样。
大家可能注意到了nali这个命令,它可以对标准输出的IP串附加上地理信息。nali-*系列工具都是基于这个来实现的。
下载
wget http://qqwry.googlecode.com/files/nali-0.1.tar.gz
安装
./configure –prefix=/usr make make install
使用1、统计apache的访问记录
(可以统计哪个ip的访问量最多,并查看是来自哪里的):
命令:
cat /data/log/log_all | awk ‘{print $1}’ | sort | uniq -c | nali | sort -rnk1 | more
输出结果:
2303 203.208.60.43[北京市 谷歌(中国)公司]
1442 61.135.249.210[北京市 联通ADSL]
827 124.207.205.1[北京市 电信通]
607 121.14.53.65[广东省江门市 电信]
493 117.63.249.59[江苏省常州市 电信]
289 203.208.60.5[北京市 谷歌(中国)公司]
272 203.208.60.47[北京市 谷歌(中国)公司]
252 173.66.232.6[北美地区]
240 61.185.198.110[陕西省西安市 电信ADSL]
217 123.127.8.36[北京市 联通ADSL]
217 113.233.255.7[辽宁省 联通]
206 222.76.18.181[福建省福州市 电信ADSL]
196 72.30.81.190[美国 yahoo蜘蛛]
2、使用traceroute
命令:
nali-traceroute www.google.com
输出结果:
traceroute to www.google.com (72.14.203.147[美国 加利福尼亚州山景市谷歌公司]), 30 hops max, 40 byte packets
1 61.189.23.129[辽宁省 联通] (61.189.23.129[辽宁省 联通]) 16.628 ms 16.796 ms 16.891 ms
2 218.25.16.153[辽宁省沈阳市铁西区 /皇姑区联通] (218.25.16.153[辽宁省沈阳市铁西区 /皇姑区联通]) 0.658 ms 0.691 ms 0.685 ms
3 218.61.253.201[辽宁省葫芦岛市 联通] (218.61.253.201[辽宁省葫芦岛市 联通]) 7.976 ms 8.008 ms 8.001 ms
4 218.61.255.185[辽宁省 联通骨干网] (218.61.255.185[辽宁省 联通骨干网]) 20.614 ms 20.643 ms 20.636 ms
5 219.158.9.57[北京市 联通ADSL] (219.158.9.57[北京市 联通ADSL]) 29.274 ms 29.272 ms 29.264 ms
6 219.158.3.194[北京市 联通ADSL] (219.158.3.194[北京市 联通ADSL]) 44.582 ms 44.464 ms 44.489 ms
7 219.158.27.118[北京市 联通ADSL] (219.158.27.118[北京市 联通ADSL]) 82.249 ms 82.690 ms 82.648 ms
8 209.85.249.195[美国 加利福尼亚州山景市谷歌公司] (209.85.249.195[美国 加利福尼亚州山景市谷歌公司]) 67.663 ms
209.85.249.192[美国 加利福尼亚州山景市谷歌公司] (209.85.249.192[美国 加利福尼亚州山景市谷歌公司]) 66.336 ms
209.85.249.195[美国 加利福尼亚州山景市谷歌公司] (209.85.249.195[美国 加利福尼亚州山景市谷歌公司]) 68.010 ms
9 209.85.250.90[美国 加利福尼亚州山景市谷歌公司] (209.85.250.90[美国 加利福尼亚州山景市谷歌公司]) 97.320 ms
209.85.250.86[美国 加利福尼亚州山景市谷歌公司] (209.85.250.86[美国 加利福尼亚州山景市谷歌公司]) 112.428 ms
209.85.250.90[美国 加利福尼亚州山景市谷歌公司] (209.85.250.90[美国 加利福尼亚州山景市谷歌公司]) 99.948 ms
10 209.85.243.21[美国 加利福尼亚州山景市谷歌公司] (209.85.243.21[美国 加利福尼亚州山景市谷歌公司]) 96.939 ms
209.85.250.103[美国 加利福尼亚州山景市谷歌公司] (209.85.250.103[美国 加利福尼亚州山景市谷歌公司]) 97.206 ms
209.85.243.21[美国 加利福尼亚州山景市谷歌公司] (209.85.243.21[美国 加利福尼亚州山景市谷歌公司]) 96.935 ms
11 209.85.241.158[美国 加利福尼亚州山景市谷歌公司] (209.85.241.158[美国 加利福尼亚州山景市谷歌公司]) 120.577 ms 120.588 ms 120.543 ms
12 tx-in-f147.google.com (72.14.203.147[美国 加利福尼亚州山景市谷歌公司]) 117.533 ms 117.623 ms 117.651 ms
也就是说,nali这个命令,可以对标准输出的ip,附加上地理信息。同理,如果你不喜欢用nali-dig,那么也可以用dig ip|nali这样的命令。
如果你觉得输入nali-xxx麻烦,那么可以做一些alias,例如:
alias traceroute=’nali-traceroute’
alias dig=’nali-dig’