本篇汇总使用命令查询云服务器出口公网IP地址的方法,它可以不经过控制台,快速查询出IP地址,通常需求应用在ddns等shell脚本中。

dig 命令

前提: 已经安装dig

#Google
dig TXT +short o-o.myaddr.l.google.com @ns1.google.com | awk -F'"' '{ print $2}'

#Cloudflare
dig whoami.cloudflare ch txt @1.1.1.1 +short

# Akamai
dig whoami.akamai.net. @ns1-1.akamaitech.net. +short

OpenDNS
dig @resolver4.opendns.com myip.opendns.com +short
dig @resolver4.opendns.com myip.opendns.com +short -4
dig @resolver1.ipv6-sandbox.opendns.com AAAA myip.opendns.com +short -6

curl 命令

curl ip.sb
curl ipinfo.io
curl ifconfig.co
curl icanhazip.com
curl checkip.amazonaws.com
curl whatismyip.akamai.com
curl wgetip.com
curl ip.tyk.nu
curl ifconfig.me
curl checkip.dyndns.org
curl ipinfo.io/ip
curl ipecho.net/plain
curl www.trackip.net/i
curl bot.whatismyipaddress.com
curl 4.ifcfg.me
curl ident.me
curl v4.ident.me
curl v6.ident.me

host 命令

获取公共IP会附带其他信息

host myip.opendns.com resolver1.opendns.com

wget 命令

wget -qO- icanhazip.com
wget -qO- ipecho.net/plain; echo

nc 命令

nc 4.ifcfg.me 23 | grep IPv4 | cut -d' ' -f4

ftp 命令

echo close | ftp 4.ifcfg.me | awk '{print $4; exit}'

lynx 命令

前提: 已经安装lynx

lynx -dump checkip.dyndns.org

最常见的是curldig,选择适合自己的就好,希望以上内容能够对您有所帮助~

参考文献:
https://askubuntu.com/questions/95910/command-for-determining-my-public-ip
https://unix.stackexchange.com/questions/22615/how-can-i-get-my-external-ip-address-in-a-shell-script

Last modification:July 13, 2023
如果觉得我的文章对你有用,请随意赞赏