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 頁面顯示相同的資訊,還有你的裝置和瀏覽器詳情。