< 返回新闻公共列表

linux怎么获取IP地址?

发布时间:2022-11-03 14:09:03

IP地址是现代网络通信的重要组成部分。在本指南中,我们将向大家展示linux怎么获取IP地址


IP地址是所谓的TCP/IP协议的一部分。这是一个网络标准,它定义了如何在计算机网络中连接在一起的计算机之间打包和传输数据。实际上有两种类型的IP地址,公共IP地址和私有IP地址。


linux获取IP地址.png


公共IP地址和私有IP地址之间的差异:

互联网服务提供商 (ISP) 分配公共IP地址,这类似于我们的公共家庭地址。当计算机连接到专用网络时,它们每个都会获得一个专用IP地址,以便在该网络中使用。专用IP地址由我们的路由器或网络中的其他设备分配。反过来,路由器可以使用网络地址转换(NAT) 将传入数据包路由到网络上的正确设备。


下面,小编详细给大家分析下linux获取IP地址的方法:

一、如何找到公共IP地址?

我们可以使用各种连接到Internet的命令来发现我们的公共IP地址,以便为我们运行查询。

1、使用dig命令获取公共IP地址

该dig命令是用于Linux的DNS查找实用程序。使用dig,我们可以通过连接到服务器来查找我们的公共IP地址。服务器提供商托管有助于发现Internet上网络IP地址的DNS服务器。在bash、sh或其他终端中运行以下命令。

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

作为输出,应该从服务器提供商解析器取回我们的公共IP地址。我们的IP地址将是一系列格式为 216.58.216.164(这是Google的众多 IP地址之一)的数字组,或者是此类的变体。

2、使用Curl返回我们的公共IP地址

该curl命令是另一个网络实用程序,可让我们与Internet上的服务器进行交互。可以使用以下选项查询服务器以返回我们的公共IP:

$ curl http://ifconfig.me/ip

或者$ curl http://icanhazip.com

每个命令的输出将是这些服务器看到的我们的公共IP。

除了上面给出的这两个之外,还有许多其他服务器可以返回我们的公共IP地址。

3、使用wget返回我们的公共IP地址

wget是适用于Linux的常用实用程序,我们可以使用它代替curl下载数据并与服务器交互。可以使用wget使用以下命令检索我们的公共IP:$ wget -qO- icanhazip.com


二、如何找到私有IP地址?

1、使用 ifconfig 命令获取私有IP地址

ifconfig是一个命令行程序,用于在Linux上配置网络接口。我们可以使用该命令以及过滤我们的私有IP地址的各种标志来检索自己的IP地址。在shell中运行以下命令:

$ ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'

上面的命令检查所有活动的网络接口,然后过滤TCP/IP接口,最后过滤本地IP地址的输出。最终输出是我们的私有IP地址。类似于119.136.154.136或一些变体。

我们可以使用sed过滤ifconfig输出,这是一个用于解析和转换文本流的实用程序。运行以下命令以获取您的私有 IP 地址:

$ ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'

在此示例中,我们过滤ifconfig输出以获取我们在TCP/IP协议下的IP地址。如果没有安装sed或ifconfig ,上述命令可能会失败。如果命令失败,请尝试该hostname命令并按照以下方法操作。

2、使用主机名命令获取私有IP地址

https://linux.die.net/man/1/hostname命令返回机器的DNS信息。我们可以通过在shell中执行以下命令来找到我们的私有IP地址:

$ hostname -I

上面的命令枚举了所有网络接口上的所有配置地址,包括我们的私有 IP地址。

3、使用IP命令获取私有IP地址

我们还可以使用ip命令获取Linux的私有IP地址。该ip命令显示和操作路由、设备、策略路由和隧道。

我们可以使用以下ip带有标志的命令变体来返回我们的私有IP地址。

$ ip route get 1 | awk '{print $NF;exit}'

$ ip route get 8.8.8.8 | head -1 | cut -d' ' -f8

$ ip route get 8.8.8.8 | head -1 | awk '{print $7}'

这些命令打印出路由表条目,用于向备用服务器发送请求。这些涉及我们的私有IP地址作为请求的来源。我们正在使用Linux 命令head、awk和cut来过滤该源以提取我们的私有IP地址。

4、从网络连接设置中查找私有IP地址

除了命令行,我们还可以使用Linux管理小程序。我们可能需要调整这些说明以适合我们的确切Linux发行版。

导航到您的“菜单”

找到“首选项”选项卡

导航到“网络”或用于管理网络信息的等效项

选择网络类型(即 Wi-Fi、以太网或其他)

可以在有关我们IP的打印信息下查看私有IP地址

这不适用于严格的命令行环境,但适用于桌面Linux系统。如果仅使用命令行登录,则需要尝试上面给出的其他基于命令的方法。


总结:有多种方法可以在linux获取IP地址。我们可以使用混合命令,例如ifconfig、ip或hostname,或者使用图形环境应用程序。


/template/Home/Zkeys724/PC/Static