Linux 显示IP地理位置 qqwry系列小工具

围绕纯真数据库的一系列小工具

  • qqwry.c,qqwry.h。一个c实现的lib,用来从纯真数据库里获取ip地址信息。下载文档
  • nali,一组ip查询工具,包括可以让dig,traceroute显示ip地理信息。下载文档
  • pecl::qqwry,纯真数据库查询的PHP C扩展实现。下载文档
  • 纯真数据库UTF-8版本。转换工具也以开源形式发布,用php实现

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 && 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、使用nali-ping:
命令:nali-ping www.baidu.com

输出结果:

输出结果:
Linux 显示IP地理位置 qqwry系列小工具 d3493bb1dbc423af thumb
也就是说,nali这个命令,可以对标准输出的ip,附加上地理信息。同理,如果你不喜欢用nali-dig,那么也可以用dig ip|nali这样的命令。
如果你觉得输入nali-xxx麻烦,那么可以做一些alias,例如:

alias traceroute=’nali-traceroute’
alias dig=’nali-dig’

3、结合mtr使用nali

# mtr 210.51.163.180 | nali

Linux 显示IP地理位置 qqwry系列小工具 5b7ff1edf3dbb3b9 thumb