一、简介
nali,名字取自中文“哪里”的拼音。nali包含一组命令行程序,其主要功能就是把一些网络工具的输出的IP字符串,附加上地理位置信息(使用纯真数据库QQWry.Dat)。例如74.125.128.104会变成74.125.128.104[美国 加利福尼亚州山景市谷歌公司]。查询是在本地进行,并不会进行联网查询,所以效率方面不会对原始命令产生什么影响。
目前包含以下几个命令:
nalinali-dignali-nslookupnali-traceroutenali-tracepathnali-ping使用这些命令的前提是,他们对应的命令必须存在。例如你要用nali-dig,必须保证dig是存在的。他们的用法和原始命令是一样的。例如nali-dig,用法就和dig一样。(nali-dig等同于dig |nali)
二、下载
# wget --no-check-certificate http://qqwry.googlecode.com/files/nali-0.2.tar.gz
三、安装
# tar zxvf nali-0.2.tar.gz
# cd nali-0.2
# ./configure
# make && make install
四、更新IP数据库
可以用nali-update命令来更新IP数据库
/usr/local/share/QQWry.Dat 这个文件需要经常更新,否则误差会比较大。
五、使用
5.1. nali
# nali 74.125.128.106
# nali 61.135.169.105
5.2. nali-dig
# nali-dig www.google.com
5.3. nali-nslookup
# nali-nslookup www.google.com
5.4. nali-traceroute
# nali-traceroute www.google.com
5.5. nali-tracepath
# nali-tracepath www.baidu.com
5.6. nali-ping
# nali-ping www.163.com
5.7. 其它程序调用nali显示IP物理位置可使用重定向方式,如:
# mtr www.google.com|nali
也就是说,nali这个命令,可以对标准输出的ip,附加上地理信息。同理,如果你不喜欢用nali-dig,那么也可以用dig ip|nali这样的命令。
六、alias
如果你觉得输入nali-xxx麻烦,那么可以做一些alias,例如:
# alias traceroute='nali-traceroute'
# alias dig='nali-dig'
七、参考
https://www.surfchen.org/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'