用 Python 实现ip2region IP 地址库查询:找出XX省所有公网 IP 段
🔍 用 Python 实现ip2region IP 地址库查询:找出XX省所有公网 IP 段
在做网络安全、日志分析或区域封禁时,我们常常需要知道某个省份对应的公网 IP 段。下面教你用 Python 和 ip2region 这个开源库,一步步找出“XX省”归属的所有公网 IP 段。
✅ 第一步:准备环境(安装 Python)
如果你已经有 Python 3,可以跳过这一步。
打开终端(或命令提示符),输入:
python3 --version
如果显示的是 3.x 版本(例如 Python 3.10.8
),说明已经安装好。
如果没有,可以从官网下载:https://www.python.org/downloads/
安装步骤略
📦 第二步:下载 ip2region 数据库文件
我们使用的是 .xdb
格式的 IP 区划数据库。
xdb文件是在解压后data目录下面。
操作步骤如下:
- 打开 GitHub 项目主页:https://github.com/lionsoul2014/ip2region
- 下载的是ip2region-master.zip
解压:
cd /root/mp
unzip ip2region-master.zip
拷贝文件:
cd ip2region-master
cp -r binding/python/xdbSearcher.py .
然后编辑xdbSearcher.py,在第一行加上:# -- coding: utf-8 --
🛠 第三步:写一个脚本扫描XX省 IP 段,这里可以改成你真实的省份
创建另一个文件:XX_scan.py
,存放在/root/mp/ip2region-master目录下面。
vi XX_scan.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import socket
import struct
from xdbSearcher import XdbSearcher
def ip2long(ip):
return struct.unpack