如何在 Linux 中查找 IP 地址

本指南将引导您完成在 Linux 中检查或查找 IP 地址的步骤,使用 iphostname 来自命令行界面和图形用户界面的命令。 此外,您还将学习如何仅显示 IPv4 或 IPv6 地址 example 命令。

在进入主题之前,让我们简要了解一下 IP 地址是什么以及它的版本。

什么是 IP 地址?

一个 IP地址 是分配给连接到计算机网络的每个设备的唯一数字表示。 知识产权代表 一世互联网 协议。

IP 地址主要用于识别一个设备并与局域网(LAN)和互联网(WAN)上的其他设备进行通信。

有两个 IP 版本可用:

  • Internet 协议版本 4(简称 IPv4)
  • Internet 协议版本 6 (IPv6)。

典型的 IPv4 地址是由点(句点)分隔的一串数字。 这是一个 example IPv4:

192.168.225.52

典型的 IPv6 地址是字母数字字符串。 因此,它由数字和字符组成,如下所示:

2409:4072:9b:47f0:9939:7a5a:f863:1476

IP 地址不是随机数。 它们由全球分配和管理 互联网号码分配机构 (IANA),一个部门 互联网名称与数字地址分配机构 (ICANN)。

希望您了解 IP 地址及其背后的组织的基本概念。 现在让我们继续看看如何在 Linux 系统中使用命令行获取 IP 地址 iphostname 命令。 首先,让我们看看 ip 命令。

1. 在 Linux 中使用 ip 命令从命令行界面 (CLI) 查找 IP 地址

ip 实用程序是一个命令行网络配置工具,它利用现代 Linux 内核中可用的全部网络功能。 它取代了早期和现在已弃用的 ifconfig 程序。 和 ip 命令,我们可以检查Linux系统的网络接口和路由表。

1.1。 显示所有网络接口的 IP 地址

要查找 Linux 机器中所有连接的网络接口的 IP 地址,请运行 ip 命令与 addr 论据如下:

$ ip addr

或者,

$ ip a

此命令将显示系统中所有网络接口的当前 IP 分配:

1: lo:  mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
     inet 127.0.0.1/8 scope host lo
        valid_lft forever preferred_lft forever
     inet6 ::1/128 scope host 
        valid_lft forever preferred_lft forever
 2: eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
     link/ether 08:00:27:8f:05:11 brd ff:ff:ff:ff:ff:ff
     inet 10.0.2.15/24 scope global eth0
        valid_lft forever preferred_lft forever
     inet6 fe80::a00:27ff:fe8f:511/64 scope link 
        valid_lft forever preferred_lft forever
在 Linux 中使用 ip 命令查找 IP 地址

如您在上面的输出中看到的,我的 Alpine Linux 系统有两个网络接口,即 loeth0. 这 lo 是环回接口,系统用来“与自己对话”的虚拟接口。 第二个接口称为 eth0是以太网接口。

您将看到一个有效的 IP 地址在 inet 上述输出中的字段。 根据输出,IPv4 地址 eth010.0.2.15 IPv6 是 fe80::a00:27ff:fe8f:511.

对于使用动态主机配置协议 (DHCP) 的系统,此字段中的有效 IP 地址将验证 DHCP 是否正常工作。

在最近的 Linux 发行版中,网络接口的名称可能是 enp5s0 或者 enp0s3. 如果你有无线接口卡,你会看到类似 wlp9s0 在输出中。

你注意到这个词了吗 “向上” 在每个接口的第一行? 它表示网络接口已启用。

1.2. 显示特定网络接口的 IP 地址

当你跑 ip addr 不带任何选项的命令,它将显示系统中所有接口的网络详细信息。 但是,您可以显式指定特定的网络接口名称以仅查看其 IP 详细信息:

$ ip addr show dev eth0

此命令将显示 IP 详细信息 eth0 仅界面:

2: eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
     link/ether 08:00:27:8f:05:11 brd ff:ff:ff:ff:ff:ff
     inet 10.0.2.15/24 scope global eth0
        valid_lft forever preferred_lft forever
     inet6 fe80::a00:27ff:fe8f:511/64 scope link 
        valid_lft forever preferred_lft forever

我们可以只显示简短的输出,而不是显示所有网络详细信息 -br (-brief) 旗帜。

$ ip -br a

此选项仅以表格格式打印基本信息,以提高可读性。

 lo               UNKNOWN        127.0.0.1/8 ::1/128 
 enp0s3           UP             
 enp0s8           UP             2409:4072:9b:47f0:a00:27ff:fe10:7cc1/64 fe80::a00:27ff:fe10:7cc1/64 
 enp0s9           UP             2409:4072:9b:47f0:a00:27ff:fe5d:6128/64 fe80::a00:27ff:fe5d:6128/64 
 br0              UP             192.168.225.52/24 fe80::a00:27ff:fe8a:5294/64 
 virbr0           DOWN           192.168.122.1/24 
 virbr0-nic       DOWN           
使用 ip 命令以表格格式仅打印基本 IP 信息

此选项目前仅支持 ip addr, ip addr showip link show 命令。

1.4. 以彩色显示 IP 地址

ip 命令具有向 IP 地址添加颜色的选项。 将 IP 地址与输出中的其他部分区分开来很有帮助。

要配置颜色输出,请使用 -c 旗帜:

$ ip -c a

此选项将以不同的颜色显示输出中的每个细节。

使用 ip 命令以彩色显示 IP 地址使用 ip 命令以彩色显示 IP 地址

1.5。 仅显示 IPv4 地址

正如您在前面的输出中可能注意到的那样, ip 命令获取 IPv4 和 IPv6 详细信息。 您也可以只显示 IPv4 地址或 IPv6 地址。

要仅打印 IPv4 地址,请使用 -4 选项:

$ ip -4 a

样本输出:

1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
     inet 127.0.0.1/8 scope host lo
        valid_lft forever preferred_lft forever
 5: br0:  mtu 1500 qdisc noqueue state UP group default qlen 1000
     inet 192.168.225.52/24 brd 192.168.225.255 scope global br0
        valid_lft forever preferred_lft forever
 6: virbr0:  mtu 1500 qdisc noqueue state DOWN group default qlen 1000
     inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
        valid_lft forever preferred_lft forever

1.6. 仅显示 IPv6 地址

要仅打印 IPv4 地址,请使用 -6 选项:

$ ip -6 a

样本输出:

1: lo:  mtu 65536 state UNKNOWN qlen 1000
     inet6 ::1/128 scope host 
        valid_lft forever preferred_lft forever
 3: enp0s8:  mtu 1500 state UP qlen 1000
     inet6 2409:4072:9b:47f0:a00:27ff:fe10:7cc1/64 scope global mngtmpaddr noprefixroute 
        valid_lft forever preferred_lft forever
     inet6 fe80::a00:27ff:fe10:7cc1/64 scope link 
        valid_lft forever preferred_lft forever
 4: enp0s9:  mtu 1500 state UP qlen 1000
     inet6 2409:4072:9b:47f0:a00:27ff:fe5d:6128/64 scope global mngtmpaddr noprefixroute 
        valid_lft forever preferred_lft forever
     inet6 fe80::a00:27ff:fe5d:6128/64 scope link 
        valid_lft forever preferred_lft forever
 5: br0:  mtu 1500 state UP qlen 1000
     inet6 fe80::a00:27ff:fe8a:5294/64 scope link 
        valid_lft forever preferred_lft forever

您可以使用 -j (-json) 和 ip 命令以 JavaScript 对象表示法 (JSON) 格式输出结果。

$ ip -j a

样本输出:

以 JSON 格式打印 ip 命令输出以 JSON 格式打印 ip 命令输出

1.8. 以人类可读的格式显示 IP 信息

-h, -human, -human-readable 选项允许您显示带有后缀的人类可读值的输出统计信息。

$ ip -h a

有关更多详细信息,请查看手册页。

$ man ip

2.在Linux中使用hostname命令显示IP地址

一种 主机名 是分配给节点的字母数字标签,以便在网络上识别它。 在 Linux 中, hostname 命令允许您显示或设置系统的主机名,并显示主机系统中所有网络接口的网络地址。

要在 Linux 中显示所有连接的网络接口卡的 IP 地址,请运行 hostname 命令与 -I 选项:

$ hostname -I

样本输出:

192.168.225.52 192.168.122.1 2409:4072:9b:47f0:a00:27ff:fe10:7cc1 2409:4072:9b:47f0:a00:27ff:fe5d:6128
在 Linux 中使用 hostname 命令显示 IP 地址在 Linux 中使用 hostname 命令显示 IP 地址

您现在了解了两个命令,用于在 Linux 中从终端检查 IP 地址信息。 如您所见,上述所有步骤仅适用于命令行界面 (CLI)。 以下部分显示了如何从图形环境中获取 IP 地址详细信息。

3. 从图形用户界面 (GUI) 获取 Linux 中的 IP 地址

查找 IP 地址取决于您使用的桌面环境 (DE)。 下面提供的步骤在 Ubuntu GNOME 桌面中进行了测试。

在 Dash 菜单中,键入 设置 并点击打开。

在 Ubuntu GNOME 桌面中打开设置在 Ubuntu GNOME 桌面中打开设置

接下来,选择您当前使用的网络类型(Wifi 或有线)。

如果您连接到有线网络,请单击 网络 设置窗口左窗格中的按钮。 在右侧窗格中,单击 高级网络设置设备 按钮。

打开有线网络设置打开有线网络设置

笔记: 我的系统没有连接任何有线网络,所以它显示 – 拔下电缆. 如果你连接的是有线网络,你会看到 连接的 信息。

如果您的系统连接到无线网络,请单击 无线上网 设置窗口左窗格中的按钮。 在右侧窗格中,单击 高级网络设置设备 按钮。

打开 Wifi 网络设置打开 Wifi 网络设置

单击高级网络设置齿轮按钮后,将打开以下窗口。 在下面 细节 选项卡,您可以找到 IP 地址详细信息。

从图形用户界面 (GUI) 在 Linux 中获取 IP 地址从图形用户界面 (GUI) 在 Linux 中获取 IP 地址

希望这可以帮助。

相关指南:

  • 如何在 Linux 和 Unix 中配置静态 IP 地址
  • 如何在 Ubuntu 18.04 LTS 中配置 IP 地址
  • 如何在 Arch Linux 中配置静态和动态 IP 地址
  • 如何在 Linux 中为单个网卡分配多个 IP 地址
  • 如何在 Linux 上从命令行中找出公共 IP 地址
  • 在 Linux 中使用 What IP Tool 显示网络信息
  • 如何从命令行查找 IP 地址的地理位置

特色图片由 豪尔赫·吉伦关注.