您当前的位置:首页 > 计算机 > 编程开发 > Python

Python批量判断IP地址所属地区

时间:12-25来源:作者:点击数:

首先安装Python扩展库netaddr,然后对下面的代码进行简单修改后即可满足某些场合的应用。

from random import randrange
from netaddr import IPRange

def ipRangeTest(ipAddr, ipRange):
    # 遍历IP地址与地区分布对应关系字典
    # 如果ipAddr在某个地区的IP段内
    # 返回该地区名称
    for key, value in ipRange.items():
        if ipAddr in value:
            return key
    return 'unknown'

# 可以根据实际情况替换这个字典的内容
# 或从IP地址库中读入信息
ipRange = {'area1':IPRange('10.2.1.0', '10.2.1.255'),
           'area2':IPRange('10.2.2.0', '10.2.2.255'),
           'area3':IPRange('10.3.0.0', '10.3.255.50'),
           'area4':IPRange('11.1.0.0', '11.1.0.255')}

# 测试
for _ in range(10):
    a = randrange(9,12)
    b = randrange(1,4)
    c = randrange(4)
    d = randrange(256)
    ipAddr = '.'.join(map(str, (a,b,c,d)))
    print(ipAddr, ipRangeTest(ipAddr,ipRange))

部分运行结果:

9.2.3.40 unknown

10.1.3.67 unknown

11.1.1.54 unknown

9.1.2.243 unknown

9.3.2.182 unknown

10.3.0.30 area3

9.1.1.58 unknown

11.1.2.205 unknown

10.3.2.179 area3

11.3.1.240 unknown

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门