本文教你在Linux操作系统上使用命令查找可用的网络接口:ifconfig、ip、netstat、nmcli命令,及在/sys/class/net目录和在/proc/net/dev文件中查找。安装Linux系统后我们做的一项常见任务是网络配置,当然,你可以在安装期间配置网络接口。但是,有些人可能更喜欢在安装后更改或更改现有设置,你必须首先知道系统上有多少接口可用于从命令行配置网络设置,本文介绍了在Linux和Unix操作系统上查找可用网络接口的所有可能方法。
方法1、使用ifconfig命令 查找网络接口详细信息的最常用方法是使用ifconfig命令,我相信一些Linux用户可能仍然会使用它: $ ifconfig -a 样本输出如下: enp5s0: flags=4098<BROADCAST,MULTICAST> mtu 1500 ether 24:b6:fd:37:8b:29 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 171420 bytes 303980988 (289.8 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 171420 bytes 303980988 (289.8 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 wlp9s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.225.37 netmask 255.255.255.0 broadcast 192.168.225.255 inet6 2409:4072:6183:c604:c218:85ff:fe50:474f prefixlen 64 scopeid 0x0<global> inet6 fe80::c218:85ff:fe50:474f prefixlen 64 scopeid 0x20<link> ether c0:18:85:50:47:4f txqueuelen 1000 (Ethernet) RX packets 564574 bytes 628671925 (599.5 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 299706 bytes 60535732 (57.7 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 正如你在上面的输出中看到的,我的Linux机器上有两个网络接口,即enp5s0(有线以太网适配器)和wlp9s0(无线网络适配器),这里,lo是loopback接口,用于本地访问所有网络服务,它的IP地址为127.0.0.1。 我们还可以在许多UNIX变体(例如FreeBSD)中使用相同的ifconfig命令来列出可用的网卡。 参考:在RHEL 8/CentOS 8 Minimal系统上安装Ifconfig的方法。
方法2、使用ip命令 在最新的Linux版本中不推荐使用ifconfig命令(参考:新的网络管理工具 ip替代ifconfig零压力),因此你可以使用ip命令显示网络接口,如下所示: $ ip link show 样本输出如下: 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: enp5s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether 24:b6:fd:37:8b:29 brd ff:ff:ff:ff:ff:ff 3: wlp9s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000 link/ether c0:18:85:50:47:4f brd ff:ff:ff:ff:ff:ff
以上就是在Linux上使用ip命令查找可用的网络接口。 也可以使用以下命令: $ ip addr $ ip -s link 你是否注意到这些命令还显示了网络接口的连接状态?如果仔细查看上面的输出,你会注意到我的以太网卡未连接网络电缆(请参阅上面输出中的“DOWN”字样),并且连接了无线网卡(参见“UP”一词)。 这两个命令(ifconfig和ip)足以在Linux系统上找到可用的网卡。 但是,在Linux上列出网络接口的其他方法很少。
方法3、在/sys/class/net目录中查找 Linux内核将网络接口详细信息保存在/sys/class/net目录中,你可以通过查看此目录来验证可用接口列表: $ ls /sys/class/net 输出如下: enp5s0 lo wlp9s0
方法4、在/proc/net/dev文件中查找 在Linux操作系统中,/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 wlp9s0: 629189631 566078 0 0 0 0 0 0 60822472 300922 0 0 0 0 0 0 enp5s0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 lo: 303980988 171420 0 0 0 0 0 0 303980988 171420 0 0 0 0 0 0
方法5、使用netstat命令 netstat命令显示各种详细信息,例如网络连接、路由表、接口统计信息、伪装连接和多播成员资格: $ netstat -i 样本输出如下: Kernel Interface table Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg lo 65536 171420 0 0 0 171420 0 0 0 LRU wlp9s0 1500 565625 0 0 0 300543 0 0 0 BMRU 请注意,netstat已经过时了,“netstat -i”的替换是“ip -s link”,另请注意,此方法仅列出活动接口,而不是所有可用接口。
方法6、使用nmcli命令 nmcli是nmcli是一个用于控制NetworkManager和报告网络状态的命令行工具,它用于创建、显示、编辑、删除、激活和停用网络连接以及显示网络状态。 如果安装了网络管理器的Linux系统,则可以使用以下命令使用nmcli工具列出可用的网络接口: $ nmcli device status 或者: $ nmcli connection show
结语 以上就是在Linux上找到可用的网络接口的6种方法,一般情况下,使用命令会非常的方便。
相关主题 |