免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: baoyu05
打印 上一主题 下一主题

统计ip归属地 [复制链接]

论坛徽章:
0
31 [报告]
发表于 2010-03-12 14:13 |只看该作者
能把ip.data中这两行贴出来吗?
广东省深圳市    天威有线宽带(关内)
广东省深圳市罗湖区      ...
eeeef 发表于 2010-03-12 13:13



    [root@localhost ip]# awk '/天威有线宽带/&&/广东省深圳市/&&/关内/' ip.data
203.88.32.0       203.88.35.255     广东省深圳市  天威有线宽带(关内))
203.88.36.0       203.88.36.255     广东省深圳市福田区  天威有线宽带(关内)
203.88.37.0       203.88.37.255     广东省深圳市  天威有线宽带(关内)
203.88.38.0       203.88.38.255     广东省深圳市罗湖区  天威有线宽带(关内)
203.88.39.0       203.88.42.255     广东省深圳市  天威有线宽带(关内)
203.88.43.0       203.88.43.255     广东省深圳市福田区  天威有线宽带(关内)
203.88.44.0       203.88.47.255     广东省深圳市  天威有线宽带(关内)
203.88.48.0       203.88.53.255     广东省深圳市罗湖区  天威有线宽带(关内)
203.88.54.0       203.88.54.255     广东省深圳市  天威有线宽带(关内)
203.88.55.0       203.88.58.255     广东省深圳市罗湖区  天威有线宽带(关内)
203.88.59.0       203.88.59.255     广东省深圳市福田区  天威有线宽带(关内)
203.88.60.0       203.88.60.255     广东省深圳市罗湖区  天威有线宽带(关内)
203.88.61.0       203.88.62.255     广东省深圳市  天威有线宽带(关内)
203.93.19.0       203.93.19.255     广东省深圳市  天威有线宽带(关内)
210.74.122.0      210.74.122.255    广东省深圳市  天威有线宽带(关内)
211.148.192.0     211.148.199.255   广东省深圳市  天威有线宽带(关内)
211.148.200.0     211.148.201.255   广东省深圳市南山区  天威有线宽带(关内)
211.148.202.0     211.148.203.255   广东省深圳市  天威有线宽带(关内)
211.148.204.0     211.148.205.255   广东省深圳市罗湖区  天威有线宽带(关内)
211.148.206.0     211.148.212.255   广东省深圳市  天威有线宽带(关内)
211.148.213.0     211.148.213.255   广东省深圳市福田区  天威有线宽带(关内)
211.148.214.0     211.148.214.255   广东省深圳市  天威有线宽带(关内)
211.148.215.0     211.148.215.255   广东省深圳市罗湖区  天威有线宽带(关内)
211.148.216.0     211.148.217.255   广东省深圳市  天威有线宽带(关内)
211.148.218.0     211.148.219.255   广东省深圳市罗湖区  天威有线宽带(关内)
211.148.220.0     211.148.221.255   广东省深圳市  天威有线宽带(关内)
211.148.222.0     211.148.222.255   广东省深圳市罗湖区  天威有线宽带(关内)
211.148.223.0     211.148.223.255   广东省深圳市  天威有线宽带(关内)
219.232.160.0     219.232.160.255   广东省深圳市罗湖区  /福田区天威有线宽带(关内)
219.232.161.0     219.232.172.255   广东省深圳市福田区  天威有线宽带(关内)
219.232.173.0     219.232.175.255   广东省深圳市  天威有线宽带(关内)
219.232.176.0     219.232.176.255   广东省深圳市罗湖区  /南山区天威有线宽带(关内)
219.232.177.0     219.232.179.255   广东省深圳市罗湖区  天威有线宽带(关内)
219.232.180.0     219.232.191.255   广东省深圳市  天威有线宽带(关内)
219.234.96.0      219.234.99.255    广东省深圳市  天威有线宽带(关内)
219.234.100.0     219.234.100.255   广东省深圳市罗湖区  天威有线宽带(关内)
219.234.101.0     219.234.127.255   广东省深圳市  天威有线宽带(关内)
222.125.0.0       222.125.0.255     广东省深圳市南山区  天威有线宽带(关内)
222.125.1.0       222.125.31.255    广东省深圳市  天威有线宽带(关内)
222.125.32.0      222.125.32.255    广东省深圳市福田区  天威有线宽带(关内)
222.125.33.0      222.125.44.255    广东省深圳市  天威有线宽带(关内)
222.125.45.0      222.125.45.255    广东省深圳市福田区  天威有线宽带(关内)
222.125.46.0      222.125.52.255    广东省深圳市  天威有线宽带(关内)
222.125.53.0      222.125.53.255    广东省深圳市罗湖区  天威有线宽带(关内)
222.125.54.0      222.125.71.255    广东省深圳市  天威有线宽带(关内)
222.125.72.0      222.125.74.255    广东省深圳市罗湖区  天威有线宽带(关内)
222.125.75.0      222.125.212.255   广东省深圳市  天威有线宽带(关内)
222.125.213.0     222.125.213.255   广东省深圳市福田区  天威有线宽带(关内)
222.125.214.0     222.125.223.255   广东省深圳市  天威有线宽带(关内)
222.125.224.0     222.125.225.255   广东省深圳市罗湖区  天威有线宽带(关内)
222.125.226.0     222.125.229.255   广东省深圳市  天威有线宽带(关内)
222.125.230.0     222.125.230.255   广东省深圳市罗湖区  天威有线宽带(关内)
222.125.231.0     222.125.233.255   广东省深圳市  天威有线宽带(关内)
222.125.234.0     222.125.237.255   广东省深圳市罗湖区  天威有线宽带(关内)
222.125.238.0     222.125.239.255   广东省深圳市  天威有线宽带(关内)
222.125.240.0     222.125.241.255   广东省深圳市罗湖区  天威有线宽带(关内)
222.125.242.0     222.125.255.255   广东省深圳市  天威有线宽带(关内)
222.248.0.0       222.248.3.255     广东省深圳市罗湖区  天威有线宽带(关内)
222.248.4.0       222.248.14.255    广东省深圳市福田区  /罗湖区天威有线宽带(关内)
222.248.15.0      222.248.19.255    广东省深圳市  天威有线宽带(关内)
222.248.20.0      222.248.20.255    广东省深圳市福田区  天威有线宽带(关内)
222.248.21.0      222.248.32.255    广东省深圳市  天威有线宽带(关内)
222.248.33.0      222.248.50.255    广东省深圳市福田区  天威有线宽带(关内)
222.248.51.0      222.248.55.255    广东省深圳市  天威有线宽带(关内)
222.248.56.0      222.248.56.255    广东省深圳市福田区  天威有线宽带(关内)
222.248.57.0      222.248.65.255    广东省深圳市  天威有线宽带(关内)
222.248.66.0      222.248.69.255    广东省深圳市福田区  天威有线宽带(关内)
222.248.70.0      222.248.77.255    广东省深圳市  天威有线宽带(关内)
222.248.78.0      222.248.81.255    广东省深圳市福田区  天威有线宽带(关内)
222.248.82.0      222.248.95.255    广东省深圳市  天威有线宽带(关内)
222.248.96.0      222.248.96.255    广东省深圳市罗湖区  天威有线宽带(关内)
222.248.97.0      222.248.106.255   广东省深圳市  天威有线宽带(关内)
222.248.107.0     222.248.107.255   广东省深圳市福田区  天威有线宽带(关内)
222.248.108.0     222.248.129.255   广东省深圳市  天威有线宽带(关内)
222.248.130.0     222.248.130.255   广东省深圳市罗湖区  天威有线宽带(关内)
222.248.131.0     222.248.161.255   广东省深圳市  天威有线宽带(关内)
222.248.162.0     222.248.162.255   广东省深圳市福田区  天威有线宽带(关内)
222.248.163.0     222.248.167.255   广东省深圳市  天威有线宽带(关内)
222.248.168.0     222.248.168.255   广东省深圳市罗湖区  天威有线宽带(关内)
222.248.169.0     222.248.175.255   广东省深圳市  天威有线宽带(关内)
222.248.176.0     222.248.176.255   广东省深圳市罗湖区  天威有线宽带(关内)
222.248.177.0     222.248.197.255   广东省深圳市  天威有线宽带(关内)
222.248.198.0     222.248.200.255   广东省深圳市福田区  天威有线宽带(关内)
222.248.201.0     222.248.224.255   广东省深圳市  天威有线宽带(关内)
222.248.225.0     222.248.226.255   广东省深圳市福田区  天威有线宽带(关内)
222.248.227.0     222.248.239.255   广东省深圳市  天威有线宽带(关内)
222.248.240.0     222.248.241.255   广东省深圳市福田区  天威有线宽带(关内)
222.248.242.0     222.248.243.255   广东省深圳市  天威有线宽带(关内)
222.248.244.0     222.248.244.255   广东省深圳市福田区  天威有线宽带(关内)
222.248.245.0     222.248.255.255   广东省深圳市  天威有线宽带(关内)
[root@localhost ip]#

论坛徽章:
0
32 [报告]
发表于 2010-03-12 15:06 |只看该作者
思路:
把IP地址每位都变成三位,比如
1.0.0.0 => 001.000.000.000

sed -r 'h;s/^[0-9[:blank:].]*//;x;s/^([0-9[:blank:].]*).*/\1/;s/\b([0-9]+)\b/000\1/g;s/\b[0-9]+([0-9][0-9][0-9])/\1/g;G;s/\n//'  IP地址库 | sort > 转换后的IP地址库

sed -r 's/\b([0-9]+)\b/000\1/g;s/\b[0-9]+([0-9][0-9][0-9])/\1/g;s/.*/& T/'  需要查找的IP地址列表 > 转换后的IP地址列表

cat 转换后的IP地址库 转换后的IP地址列表 | sort | grep -B1 T

就可以得到一个列表
上面一行是IP地址库中的对应字段,下面一行是需要查找的IP地址,后面有一个T

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
33 [报告]
发表于 2010-03-12 15:09 |只看该作者
回复 32# springwind426


    好久不见spring wind了

论坛徽章:
0
34 [报告]
发表于 2010-03-12 15:11 |只看该作者
回复 33# blackold

谢谢你还记着我,确实,我是很久没有上论坛了

论坛徽章:
0
35 [报告]
发表于 2010-03-12 15:33 |只看该作者
用map 的查找范围功能

论坛徽章:
0
36 [报告]
发表于 2010-03-12 16:12 |只看该作者
思路:
把IP地址每位都变成三位,比如
1.0.0.0 => 001.000.000.000

sed -r 'h;s/^[0-9[:blank:].]*//; ...
springwind426 发表于 2010-03-12 15:06



    这个不错

论坛徽章:
0
37 [报告]
发表于 2010-03-13 05:51 |只看该作者
经验告诉我,最好自己会编程,这样会简单好多。

论坛徽章:
0
38 [报告]
发表于 2010-03-13 12:18 |只看该作者
ip不好判断把!

论坛徽章:
0
39 [报告]
发表于 2010-03-15 11:03 |只看该作者
用 python 寫了一個, 但速度不快
  1. #!/usr/bin/env python
  2. # True 如果 ip 在 range 裡, otherwise False
  3. def compareIp(rangeFrom, rangeTo, ip):
  4.     # 把 ip 轉換成數字串, 那就可以用來比較大小
  5.     # ex: '12.40.255.1'  ---->  '012040255001'
  6.     rangeFrom = ''.join(['%03d' % int(i) for i in rangeFrom.split('.')])
  7.     rangeTo = ''.join(['%03d' % int(i) for i in rangeTo.split('.')])
  8.     ip = ''.join(['%03d' % int(i) for i in ip.split('.')])
  9.    
  10.     return rangeFrom <= ip <= rangeTo

  11. def showIpAdderss(source_file, address_file):
  12.     all_source = open(source_file)
  13.     all_address = open(address_file)

  14.     # 把 source file 裡的 ip 都存到 addresss
  15.     # address = ['0.12.1.4', '23.53.36.2', '123.23.255.2']
  16.     address = [ip.strip() for ip in all_address.readlines()]
  17.    
  18.     # delete 所有不必要的 space, newline
  19.     # 得到: source = ['4.53.3.1', '4.53.255.255', '美國', 'CZ88.NET']
  20.     source = [ip.strip() for ip in all_source.readline().split(' ') if ip]
  21.     # 每次只讀一行 data file
  22.     while source:
  23.         # 檢查 address 裡每一個 ip
  24.         for ip in address:
  25.             if compareIp(source[0], source[1], ip):
  26.                 # 如果 pi 在 range 裡, 打印而且從 address 裡拿掉,
  27.                 # 下次不會再檢查同樣一個 ip
  28.                 print '%s\t%s\t%s' % (ip, source[2], source[3])
  29.                 address.remove(ip)

  30.         source = [ip.strip() for ip in all_source.readline().split(' ') if ip]

  31.     all_source.close()
  32.     all_address.close()

  33. if __name__=='__main__':
  34.     import sys

  35.     if len(sys.argv) != 3:
  36.         print 'Usage: python ipLocation.py <ip locations sources> <ip addresses>'
  37.         sys.exit(0)

  38.     showIpAdderss(sys.argv[1], sys.argv[2])
复制代码
data.txt = ip地址库
source.txt = ip文本

Kyles-MacBook:Test kyle$ python ipLocation.py data.txt source.txt
4.19.79.64        美国        CZ88.NET
23.12.2.9        IANA        CZ88.NET
56.77.4.54        美国        北卡罗来纳(美国邮政局)
61.132.92.115        江苏省常州市        电信ADSL
61.132.122.248        江苏省苏州市        苏州工业职业技术学院苏高工校区
90.200.213.255        英国        CZ88.NET
132.23.49.12        CZ88.NET       
156.233.12.86        未知物理地址        CZ88.NET
177.23.123.94        CZ88.NET       
187.123.42.66        CZ88.NET       
202.19.235.23        日本        CZ88.NET
211.23.255.8        台湾省        中华电

论坛徽章:
0
40 [报告]
发表于 2010-03-16 16:49 |只看该作者
awk 'NR==FNR{a[$0]}NR>FNR&&($1 in a){print $1"\t"$3"\t"$4}' file1 file2
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP