在Linux中如何使用命令行显示公网IP地址?

有两种方法可以检索Linux 服务器或系统的外部/公网 IP 地址,最快的方法是解析DNS(dig、host),另一种是通过 HTTP 协议(cURL、wget)检索服务器数据。

Local和Public是分配给不同网络的两个变体。本地 IP 地址分配给连接到同一网络的笔记本电脑、手机和其他设备,以进行本地网络通信。

ISP提供商将公网IP 地址分配给您的本地网络,以便通过 Internet 进行外部通信,它们可以是静态的或动态的,具体取决于连接。

动态 地址用于一般用途,每次连接到 Internet 时都会更新,而静态 地址在手动更改之前保持不变。

今天,您将学习如何使用OpenDNS和External Services显示外部或公网 IP 地址。

使用 OpenDNS 显示外部/公网 IP 地址

在 dig 命令中

dig命令是一个有价值的网络管理工具,用于对域名系统 (DNS)进行故障排除和查询。

此处的其他示例通过HTTP协议对服务器进行响应,并以不同的格式进行响应,或者依靠用户代理使服务器以纯文本形式响应,从而使处理速度变慢。

但是,DNS(OpenDNS、Google DNS 等)响应协议是最快、最标准化的,并且保持兼容的时间更长。

您可以将 dig 与OpenDNS一起用作解析器,以显示您的服务器或本地 Linux 系统的外部/公网 IP 地址。

$ dig +short myip.opendns.com @resolver1.opendns.com
##.###.###.###

在主机命令中

host 命令是用于 DNS 查找的简单实用程序,它通常查找 IP 地址的域名,反之亦然。

以下带有 OpenDNS 的主机命令会查找您的外部/公网 IP 地址。

$ host myip.opendns.com resolver1.opendns.com | awk '/address / {print $4}'
##.###.###.###

使用外部服务显示外部/公网 IP 地址 外部服务易于使用,需要使用HTTP 协议通过服务器并以纯文本格式解析输出数据或读取用户代理标头。

这会减慢结果的速度,并且不如DNS 查找稳定。由于这些原因,建议使用上述方法而不是这种方法。

在 cURL 命令中

curl 命令从服务器传输数据或向服务器传输数据,并支持各种协议,例如FTP、FTPS、HTTP、IMAP、POP等。

以下命令是目前最稳定的显示服务器或 Linux 系统的外部/公网 IP地址的命令。

$ curl ipinfo.io
##.###.###.###
$ curl ifconfig.co
##.###.###.###
$ curl ifconfig.me
##.###.###.###
$ curl https://checkip.amazonaws.com
##.###.###.###

在 wget 命令中

wget命令是一个用于从 Internet 下载文件的非交互式实用程序。它支持HTTP、HTTPS和FTP协议,并通过 HTTP 代理进行检索。

以下命令可以帮助您显示 Linux 系统当前的外部或公网 IP 地址。

$ wget -qO- https://ipecho.net/plain; echo
##.###.###.###
$ wget -qO - icanhazip.com
##.###.###.###

TL;DR

显示 Linux 系统或服务器的外部/公网 IP 地址的最快方法:

$ dig +short myip.opendns.com @resolver1.opendns.com
OR
$ host myip.opendns.com resolver1.opendns.com | awk '/address / {print $4}'

显示 Linux 系统或服务器的外部/公网 IP 地址的最简单方法:

$ curl ifconfig.me
OR
$ curl https://checkip.amazonaws.com
OR
$ wget -qO - icanhazip.com
© 版权声明
THE END
喜欢就支持一下吧
点赞150赞赏 分享
评论 抢沙发
头像
欢迎光临不念博客,留下您的想法和建议,祝您有愉快的一天~
提交
头像

昵称

取消
昵称代码图片

    暂无评论内容