获取准确IP归属地信息有五种方法:一、用ip138.com等权威网站查询;二、调用ipapi.com等API接口;三、使用qqwry.dat等本地离线数据库;四、通过whois等命令行工具解析;五、核验IP段范围匹配归属地。

如果您需要确认某个IP地址所对应的物理位置或网络归属信息,则可能是由于该IP地址未在本地数据库中登记,或查询接口返回了不完整数据。以下是获取准确IP地址归属地信息的多种方法:
一、使用权威在线IP查询网站
权威网站依托实时更新的IP库与运营商备案数据,能提供较精确的省市级定位及ISP信息。其结果通常包含归属地、网络类型、子网掩码和IP段范围。
1、打开浏览器,访问 ip138.com 或 ip.cn 网站。
2、在首页搜索框中输入待查IP地址,例如 223.104.3.156,点击“查询”按钮。
3、查看返回结果中的“地理位置”字段,确认是否显示为 中国 北京市 北京市移动 类格式。
4、若结果提示“无法解析”,则尝试切换至其他网站如 ipaddress.com 或 ipinfo.io 进行交叉验证。
二、调用IP归属地API接口
通过编程方式调用结构化API可批量获取归属地数据,适用于开发集成场景。响应内容多为JSON格式,含country、region、city、org等字段。
1、注册并获取 ipapi.com 或 ipgeolocation.io 的免费API密钥。
2、在终端中执行curl命令,例如:
curl "https://api.ipgeolocation.io/ipgeo?apiKey=YOUR_KEY&ip=1.180.205.123"。
3、检查响应中 country_name 和 region_name 字段值,确认是否为 中国 内蒙古自治区。
4、若返回空值或错误码404,改用 https://ipapi.co/161.64.94.7/json/ 接口重试,该接口无需密钥且支持澳门特别行政区数据。
三、使用本地IP数据库离线查询
离线数据库避免网络依赖,适合内网环境或高频查询需求。常见格式为CSV或SQLite,字段包括起始IP、结束IP、国家、省份、城市、ISP。
1、下载最新版CNIP库(如2026年4月更新的 qqwry.dat 或 GeoLite2-Country.mmdb)。
2、使用Python加载库文件,运行如下代码:
import geoip2.database; reader = geoip2.database.Reader('GeoLite2-Country.mmdb'); response = reader.country('161.64.94.1')。
3、提取 response.country.names['zh-CN'] 与 response.continent.names['zh-CN'] 输出中文归属地。
4、若结果为空,检查IP是否属于私有地址段(如10.0.0.0/8),此类地址默认无地理信息。
四、通过命令行工具直接解析
Linux/macOS系统内置工具可快速识别IP所属ASN与注册机构,辅助判断地理位置可信度。
1、在终端中执行:whois 223.104.3.0,观察输出中的 country: 和 netname: 字段。
2、若返回结果含 country: CN 与 netname: CMNET-BJ,可确认归属地为北京移动。
3、对IPv6地址执行:dig +short -x 2001:db8::1 @a.root-servers.net,获取反向DNS线索。
4、若whois结果缺失地理位置字段,使用 curl -s "https://ipapi.co/$(hostname -I | awk '{print $1}')/json/" | grep -E "(country|region|city)" 获取本机出口IP归属地。
五、核验IP段归属信息
单个IP可能因动态分配导致归属地漂移,而IP段信息更稳定。通过比对IP段起止地址与已知库,可提升判断准确性。
1、将待查IP转换为整数格式,例如 223.104.3.156 → 3745292412。
2、查阅公开IP段表,确认其是否落在 223.104.3.0–223.104.3.255 范围内,该段归属 中国 北京市 北京市移动。
3、对 1.180.205.123 执行相同操作,匹配至 1.180.200.0–1.180.215.255 段,对应 中国 内蒙古自治区 呼和浩特市 电信。
4、若IP属于 161.64.0.0/16 段,则直接判定为 中国 澳门特别行政区 澳门大学,无需进一步解析。

















