手机版 收藏 导航

Linux系统如何查看网络接口的IP地址

原创   www.link114.cn   2023-12-17 13:35:14

Linux系统如何查看网络接口的IP地址

最基本和常用的方法就是使用 ifconfig 命令。这个命令可以显示系统中所有网络接口的详细信息,包括IP地址、子网掩码、MAC地址等。

在终端中运行 ifconfig 命令,你会看到类似如下的输出:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.255
        ether 00:11:22:33:44:55  txqueuelen 1000  (Ethernet)
        RX packets 1234567  bytes 123456789 (117.7 MiB)
        TX packets 7654321  bytes 987654321 (941.3 MiB)
        interrupt 20  memory 0xf2200000-f2220000

从输出中,我们可以看到 eth0 网络接口的IP地址是 192.168.1.100

ifconfig 命令虽然使用非常广泛,但它已经是一个较为老旧的命令。现在更推荐使用 ip 命令,因为它不仅更加强大,而且输出也更加友好和易读。

ip 命令是 Linux 系统中用于配置网络接口的主要工具。它可以代替 ifconfig 命令完成大部分的网络配置任务。

要使用 ip 命令查看网络接口的IP地址,可以运行以下命令:

ip addr show

这个命令会输出系统中所有网络接口的详细信息,包括IP地址、MAC地址、链路状态等。输出示例如下:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 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
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic noprefixroute eth0
       valid_lft 3456sec preferred_lft 3456sec

从输出中我们可以看到,eth0 网络接口的IP地址是 192.168.1.100

ip 命令提供非常丰富的功能,不仅可以查看IP地址,还可以配置网络接口、路由表、防火墙等。对于系统管理员来说,掌握 ip 命令的使用是非常重要的。

除上述两种方法,我们还可以使用 nmcli 命令来查看网络接口的IP地址。nmcli 是 NetworkManager 命令行工具,它提供一种更加人性化的方式来管理网络连接。

要使用 nmcli 命令查看IP地址,可以运行以下命令:

nmcli device show

这个命令会输出系统中所有网络设备的详细信息,包括设备名称、IP地址、MAC地址等。输出示例如下:

GENERAL.DEVICE:                         eth0
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         00:11:22:33:44:55
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     Wired connection 1
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/1
GENERAL.METERED:                        yes
IP4.ADDRESS[1]:                         192.168.1.100/24
IP4.GATEWAY:                            192.168.1.1
IP4.ROUTE[1]:                           dst = 0.0.0.0/0, nh = 192.168.1.1, mt = 100
IP4.ROUTE[2]:                           dst = 192.168.1.0/24, nh = 0.0.0.0, mt = 100
IP6.ADDRESS[1]:                         fe80::abcd:ef12:3456:7890/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 100

从输出中我们可以看到,eth0 网络接口的IP地址是 192.168.1.100

nmcli 命令提供更加直观和易读的输出格式,对于不太熟悉Linux网络命令的用户来说,这种方式可能更加友好。

除上述命令行工具,我们还可以直接读取 /proc/net/dev 文件来获取网络接口的IP地址信息。这个文件包含系统中所有网络接口的统计数据,包括接收和发送的数据包数量、字节数等。

我们可以使用 cat 命令来查看 /proc/net/dev 文件的内容:

cat /proc/net/dev

输出示例如下:

Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
    lo: 1234567890 12345 0    0    0     0          0         0     1234567890 12345 0    0    0     0       0          0
  eth0: 987654321 54321 0    0    0     0          0         0     987654321 54321 0    0    0     0       0          0

从输出中我们可以看到,eth0 网络接口的统计数据。但这种方法无法直接获取IP地址信息,需要结合其他工具,比如 ifconfigip 命令,才能完整地获取网络接口的配置信息。

本文介绍4种查看Linux系统网络接口IP地址的方法:使用 ifconfig 命令、 ip 命令、 nmcli 命令以及直接读取 /proc/net/dev 文件。每种方法都有自己的优缺点,系统管理员可以根据实际需求选择合适的方式。掌握这些基本的网络管理命令和技能对于维护和排查Linux系统的网络问题非常重要。