net&sky

我的 IP 地址是多少?用命令行查看

用 curl、wget 或 PowerShell 以纯文本获取你的公网 IP 地址、IPv4 或 IPv6、国家等信息。为终端和脚本设计:输入一行,输出一行,没有广告,无需注册。

命令

curl netandsky.com/ip你的公网 IP 地址(连接有 IPv6 时显示它)
curl -4 netandsky.com/ip只显示你的 IPv4 地址
curl -6 netandsky.com/ip只显示你的 IPv6 地址
curl netandsky.com/ip.jsonIP、国家、城市、地区和时区,JSON 格式
curl netandsky.com/country两个字母的国家代码,例如 CN
curl netandsky.com/ua你的用户代理(User-Agent),即服务器看到的样子
curl netandsky.com在终端里显示这份列表
$ curl netandsky.com/ip 203.0.113.25 $ curl netandsky.com/ip.json {"ip":"203.0.113.25","country":"IN","city":"Hyderabad","region":"Telangana","timezone":"Asia/Kolkata"}

Windows

irm netandsky.com/ipPowerShell(Invoke-RestMethod)
(irm netandsky.com/ip.json).countryPowerShell,从 JSON 中取一个字段
curl.exe netandsky.com/ip命令提示符或 PowerShell,Windows 10 和 11

在 Windows PowerShell 5 中,单独的 curl 是另一个命令;请用 curl.exe 或 irm。

Linux 和 macOS

wget -qO- netandsky.com/ip使用 wget
curl -s netandsky.com/ip.json | jq -r .country取一个字段,使用 jq
dig +short myip.opendns.com @resolver1.opendns.com完全不用网站:询问 OpenDNS(IPv4)

在脚本中

# Bash: save your address, and notice when it changes IP=$(curl -fsS --max-time 10 netandsky.com/ip) || exit 1 [ "$IP" != "$(cat ~/.lastip 2>/dev/null)" ] && echo "IP changed to $IP" && echo "$IP" > ~/.lastip
# Python import urllib.request ip = urllib.request.urlopen("https://netandsky.com/ip", timeout=10).read().decode().strip()
# PowerShell $ip = (Invoke-RestMethod https://netandsky.com/ip).Trim()

如果脚本会把结果发送到别处,请使用 https://。请最多每分钟查询一次;需要更频繁时,请自己搭建。

常见问题

为什么显示的是 IPv6 地址?

你的连接两种都有,而它是通过 IPv6 到达我们的,现在很多移动和宽带网络都优先这样做。加上 -4 可获得 IPv4 地址。

它和 ifconfig.me 或 icanhazip.com 一样吗?

原理相同:以纯文本返回你的连接来自的地址。JSON 还会给出你的国家、城市和时区。

你们会保存我的 IP 地址吗?

不会。答案直接发回,IP 地址不会写入我们的日志。参见关于与隐私。

在浏览器里查看?

我的 IP 页面显示相同的信息,还有你的设备和浏览器详情。