免费 IP 归属地与 IP 风险检测 API
高性能、IPv4/IPv6 双栈、多语言 IP 归属地查询接口,免费开放。频率限制 1 秒 1 次,无总调用次数限制。
本产品使用了 MaxMind 创建的 GeoLite2 数据,获取地址: https://www.maxmind.com.
⏱️
请求频率限制
支持最高 1 秒 1 次并发请求 (1 req/s)。
♾️
调用配额限制
无每日或总调用次数限制,永久免费开放。
接口地址
GET
https://api.myipdns.com/
IPv4
IPv6
JSON 格式
GET
https://v4.api.myipdns.com/
仅限 IPv4
纯文本格式
GET
https://v6.api.myipdns.com/
仅限 IPv6
纯文本格式
请求参数
| 参数名 | 描述 | 示例 |
|---|---|---|
ip |
要查询的 IP 地址。如果不填,则返回访问者的 IP。 | ?ip=8.8.8.8 |
lang |
返回语言。支持:en, cn, ru, ja, fr, de, es, pt。 | ?lang=zh-CN |
JSON 响应示例
Request: GET https://api.myipdns.com/?ip=8.8.8.8&lang=en
{
"ip": "8.8.8.8",
"continent": "North America",
"continent_code": "NA",
"country": "United States",
"country_code": "US",
"timezone": "America/Chicago",
"latitude": 37.751,
"longitude": -97.822,
"asn": 15169,
"as_org": "Google LLC",
"native_type": "native",
"rir_registry": "arin",
"is_hosting": true,
"usage_type": "DCH",
"query_time": "0.03",
"source": "maxmind.com"
}
终端协议栈与隐私拓扑探测 API (/check)
专为 curl、wget 及自动化脚本设计的高精度直连协议栈探测端点,绕过 CDN 反向代理,直采真实 TCP/TLS/IP 协议栈。
⚡
读取速率配额
每 IP 每秒 1 次 (突发 5 次)。超限返回 HTTP 429。
🔗
分享建表配额
每 IP 每小时 5 次。超限自动降级为普通诊断 (HTTP 200),不生成分享链接。
接口地址
GET
https://myipdns.com/check
Dual-Stack
默认格式 (ANSI 彩色 / 终端文本)
GET
https://myipdns.com/check?format=line
Dual-Stack
行格式 (KEY=VALUE,专供 Shell 脚本 awk / grep 解析)
GET
https://myipdns.com/check?format=json
Dual-Stack
结构化 JSON 格式
请求参数
| 参数名 | 描述 | 示例 |
|---|---|---|
format |
指定返回格式:json (结构化 JSON) 或 line (KEY=VALUE 格式) | ?format=line / ?format=json |
share |
生成 30 天只读分享短链与 SVG 状态徽章 (受 5 次/小时/IP 配额保护) | ?share=1 |
color |
禁用终端 ANSI 彩色转义字符:?color=0 或 ?plain=1 | ?color=0 / ?plain=1 |
-4 / -6 |
显式指定 IPv4 或 IPv6 探测:curl -4 或 curl -6 | curl -4 https://myipdns.com/check |
JSON 响应字段完整规范
| Field | Type | Description |
|---|---|---|
ip | string | 客户端出口 IP 地址 |
ip_version | string | IP 协议版本 (IPv4 或 IPv6) (IPv4 / IPv6) |
country | string | 多源投票聚合后的国家全称 |
country_code | string | ISO 3166-1 alpha-2 两位大写国家代码 |
city | string | null | 多源投票聚合后的城市英文名 (未测得为 null) |
asn | string | 自治系统编号 (如 AS15169) |
as_org | string | ASN 所属机构 / ISP 名称 |
is_datacenter | boolean | 布尔值,标识是否为数据中心 / 托管机房 IP |
is_proxy | boolean | 布尔值,标识是否为商业代理或 VPN 出口 |
transport | object | 传输层指纹对象。🔴 红线:未测得指标严格为 null (绝不回退 0 或 false) |
transport.mss | string | 实测 TCP 最大报文段长度 MSS (如 1380,缺测为 "n/a") |
transport.mtu | integer | null | 基于 MSS 推导的路径 MTU (如 WireGuard 1420,缺测为 null) |
transport.mtu_note | string | null | 基于 MTU 的网络链路启发式推断说明 (缺测为 null) |
transport.wscale | integer | null | TCP 窗口缩放因子 WScale (缺测为 null) |
transport.syn_win | integer | null | TCP 初始 SYN 接收窗口大小 (缺测为 null) |
transport.syn_ttl | integer | null | 推断的客户端初始 SYN 生存时间 TTL (缺测为 null) |
transport.option_order | string | null | 逗号分隔的 TCP SYN 选项协商顺序 (缺测为 null) |
transport.ts_val | integer | null | TCP 时间戳 TSval 数值 (缺测为 null) |
transport.ts_hz | integer | null | 推算的 TCP 时间戳时钟频率 Hz (缺测为 null) |
transport.ecn_enabled | boolean | null | 显式拥塞通知 ECN 启用状态布尔值 (缺测为 null) |
crypto | object | 应用与加密层指纹对象 (HTTP 协议版本、TLS 版本、JA4、JA3、ALPN) |
verdict | object | 拓扑分类结论、判定依据与可读总结 |
share_url | string (optional) | 仅当请求 ?share=1 且在配额内时生成的 30 天有效期分享链接 |
badge_url | string (optional) | 仅当请求 ?share=1 且在配额内时生成的 SVG 状态徽章链接 |
行格式 (KEY=VALUE,专供 Shell 脚本 awk / grep 解析) Example:
ip=35.212.190.31
ip_version=IPv4
country=United States
country_code=US
city=San Jose
asn=AS15169
as_org=Google LLC
is_datacenter=true
is_proxy=false
mss=1380
mtu=1420
mtu_note=Encapsulated Tunnel (WireGuard / Tailscale / CDN)
wscale=7
syn_win=65535
syn_ttl=64
option_order=MSS,SACK_PERM,TS,NOP,WS
ts_val=987654
ts_hz=1000
ecn_enabled=true
http_proto=HTTP/2.0
tls_version=TLS 1.3
ja4=t13d1516h2_8daaf6152771_000000000000
verdict=topo_terminated_remote_protocol
verdict_basis=reputation
verdict_summary=Data Center / Proxy Egress (Hosting Network)
结构化 JSON 格式 Example:
{
"ip": "35.212.190.31",
"ip_version": "IPv4",
"country": "United States",
"country_code": "US",
"city": "San Jose",
"asn": "AS15169",
"as_org": "Google LLC",
"is_datacenter": true,
"is_proxy": false,
"transport": {
"mss": "1380",
"mtu": 1420,
"mtu_note": "Encapsulated Tunnel (WireGuard / Tailscale / CDN)",
"wscale": 7,
"syn_win": 65535,
"syn_ttl": 64,
"option_order": "MSS,SACK_PERM,TS,NOP,WS",
"ts_val": 987654,
"ts_hz": 1000,
"ecn_enabled": true
},
"crypto": {
"http_proto": "HTTP/2.0",
"tls_version": "TLS 1.3",
"ja4": "t13d1516h2_8daaf6152771_000000000000"
},
"verdict": {
"key": "topo_terminated_remote_protocol",
"basis": "reputation",
"summary": "Data Center / Proxy Egress (Hosting Network)"
}
}
命令行 CLI (curl / wget) 快捷接口
无需任何复杂的 API 调用,在终端中直接运行命令即可快速获取 IP 数据或纯文本 IP。命令行频率限制为 1 秒 1 次。
1. 获取本机出口 IP 标准 JSON 数据:
curl https://myipdns.com
2. 获取指定 IP (如 8.8.8.8) 标准 JSON 数据:
curl https://myipdns.com/ip/8.8.8.8
3. 获取本机出口 IP 纯文本 (供 Shell 脚本读取):
curl https://myipdns.com/ip
API 常见问题与技术原理
深入了解 /check 协议栈测量、未测数据处理规范以及自动化脚本集成最佳实践。
/check 会发出 HTTP 302 临时重定向至直连双栈探针域名 (check_dns.myipdns.com)。该端点彻底绕过 Nginx 反向代理与 CDN 中间层,由后端 Go 服务内核直接捕获客户端握手 SYN 报文,从而获取未被代理层改写的端到端真实 TCP 选项与 MTU。
为了防御数据伪造并避免误导下游脚本。在 TCP 分析中,MTU 为 0 是非法值,未开启 ECN (Disabled) 与未测得 ECN (如通过 HTTP/3 QUIC 访问时无 TCP 握手) 是完全不同的技术状态。未测得项严格返回 null。
推荐使用 curl -sL 'https://myipdns.com/check?format=line' 获取 KEY=VALUE 格式,配合 awk -F= '$1=="mtu"{print $2}' 或 grep 直接提取指标;也可使用 ?format=json 搭配 jq 进行结构化查询。
普通诊断读取超出 1 req/s (突发 5) 时将收到包含 Retry-After 的 HTTP 429 响应。带 ?share=1 的建表请求超出每小时 5 次配额时,系统将自动优雅降级,照常返回完整的 HTTP 200 诊断内容,仅略去 share_url 生成,确保自动化脚本不崩溃。
致谢与鸣谢
我们使用了以下第三方 API 来辅助验证网络出口节点。
-
www.cloudflare.com
-
api.vore.top
-
myip.ipip.net
-
data.video.iqiyi.com
-
api.ipify.org
-
api6.ipify.org
-
ipv4.agi.li
-
ipv6.agi.li
-
netlify-ip.html.zone
-
ip.011102.xyz
-
api.ip.sb
-
api.ipapi.is
-
api.db-ip.com
-
free.freeipapi.com
-
api.ipquery.io
-
api.ipbase.com
-
wtfismyip.com
-
geolocation-db.com
-
ipv6.my.ipinfo.app
-
myexternalip.com
-
ifconfig.me
-
checkip.amazonaws.com
-
icanhazip.com
-
ipecho.net
-
4.ident.me
-
6.ident.me
-
cloudflare-ip.html.zone
-
ipmax.vercel.app
-
ipv4.jsonip.com
-
ipv6.jsonip.com
-
api.kieng.cn
-
v4.api.ipinfo.io
-
v6.api.ipinfo.io
-
v4.api.myipdns.com
-
v6.api.myipdns.com
-
my.ipinfo.app
-
www.cloudflare-cn.com
-
x.com
-
my.ip.cn
-
api.myip.la