SKILL.md
IP 归属地查询#
查询任意 IPv4 地址的地理位置与网络信息,或直接查本机公网 IP。数据源 ip-api.com(免费、无需 Key)。
用法#
python3 ipinfo.py # 查本机公网 IP 的归属地
python3 ipinfo.py 8.8.8.8 # 查指定 IP
python3 ipinfo.py example.com # 传域名自动解析后查询
python3 ipinfo.py 8.8.8.8 1.1.1.1 # 批量查询(最多 100 个)
python3 ipinfo.py 8.8.8.8 --lang en # 英文输出
输出示例#
8.8.8.8
国家:美国(US)
地区:弗吉尼亚州 城市:Ashburn
运营商:Google LLC(AS15169 Google LLC)
ASN:AS15169 GOOGLE
时区:America/New_York
坐标:39.03, -77.5
机制#
- API:
http://ip-api.com/json/{ip}?lang=zh-CN&fields=...;批量用http://ip-api.com/batch。 - 传域名时先用 Python 标准库 socket 解析为 IP 再查询。
- 免费额度:45 次/分钟(HTTP 端),仅限非商业用途。
- 纯 Python 标准库(urllib/socket),无第三方依赖。
隐私与安全#
- 不收集任何个人信息;仅向 ip-api.com 公共接口发起查询。
- 不含任何密钥或账号凭据。
用途与依赖
作者没写,这些是平台读文件后整理的,以文件为准。
使用示例
请求:帮我查一下 8.8.8.8 和 1.1.1.1 是哪里的
预期
运行 python3 ipinfo.py 8.8.8.8 1.1.1.1,逐个打印归属地信息,例如:8.8.8.8 国家:美国(US);地区:弗吉尼亚州 Ashburn;运营商:Google LLC(AS15169 Google LLC);ASN:AS15169 GOOGLE;时区:America/New_York;坐标:39.03, -77.5。查询失败的地址会显示失败原因;如果域名解析失败,也会单独提示。
- 适用场景
- 想知道某个 IP 或域名对应的国家、城市和运营商
- 查看本机当前公网 IP 及其归属地
- 批量核对一批 IP 的地理位置和 ASN 信息
- 排查访问来源或日志中 IP 的大致位置
- 需要英文格式的归属地信息时
- 输入
- 一个或多个 IPv4 地址或域名(留空则查询本机公网 IP)
- 可选的输出语言 --lang zh 或 en(默认中文)
- 输出
- 每个地址一段文本结果:国家(代码)、地区与城市、运营商与组织、ASN、时区、经纬度
- 查询失败或域名解析失败时的提示行
- 运行环境
- Python 3(仅用标准库 urllib、socket、json、argparse)
- 依赖
- 无

