如何在Linux上的命令行中找到我的公共IP地址
时间:2020-01-09 14:17:09 来源:igfitidea点击:
如何在Linux和OS X Unix命令行上找到我的公共IP地址,以与自己的bash shell脚本一起使用,而无需使用第三方网站?是否有命令行选项可以在Ubuntu或Fedora Linux上显示我的动态IP地址?在Linux或类Unix操作系统(例如FreeBSD,OpenBSD,NetBSD,Apple OS X等)上,有很多方法可以找到您的公共IP地址或广域网IP。本教程说明如何在Ubuntu,Debian,CentOS Linux,macOS/OS X和Unix bash shell上使用命令行选项查找自己的IP地址。
说明IP地址
IP是Internet协议的缩写。
它用于识别Internet上的计算机或移动设备。
连接到Internet的每个设备都有一个IP地址。
IP地址可用于个性化信息。
使用dig命令确定我的公共IP地址:
- 打开终端应用程序。
- 在Linux,OS X或类似Unix的操作系统上执行以下dig(域信息groper)命令,以查看ISP分配的您自己的公共IP地址:
dig + short myip.opendns.com @ resolver1.opendns.com或dig TXT + short o-o.myaddr.l.google.com @ ns1.google.com
- 您应该在屏幕上看到您的IP地址。这是无需使用第三方网站即可找到您的IP地址的最快方法。
输出示例:
使用dig命令查找您的IP地址
您可以尝试使用host命令查看相同的信息:
host myip.opendns.com resolver1.opendns.com
您还可以使用Google服务器通过dig命令获取相同的信息:
dig TXT +short o-o.myaddr.l.google.com @ns1.google.com | awk -F'"' '{ print }'
如何将我的IP地址存储在shell变量中?
语法为:
myip="$(dig +short myip.opendns.com @resolver1.opendns.com)" echo "My WAN/Public IP address: ${myip}"
输出示例:
My WAN/Public IP address: 10.16.144.194
在路由器上查找公用/WAN IP地址
一些ADSL/Cable路由器允许您使用telnet或ssh登录到路由器:
telnet your-router-ip-here ssh user@your-router-ip-here telnet 192.168.0.254 ssh [email protected] [admin@dd-wrt ~]# ifconfig eth1 | grep 'inet addr:' [admin@dd-wrt ~]# ip addr show nas01
使用第三方网站获取您的IP
请注意,出于安全原因,我不建议您使用curl/wget方法。
你被警告了:
curl checkip.amazonaws.com curl ifconfig.me curl icanhazip.com curl ipecho.net/plain curl ifconfig.co ## store output in $server_ip ## server_ip="$(curl ifconfig.co)" ## Display it ## printf "Server public ip4 %s\n" $server_ip