如何列出所有物理安装的网卡(Debian)?

如何列出所有物理安装的网卡(Debian)?

我的“专用服务器”应该安装两个 NIC,但我只能找到一个。

我的问题:还有哪些命令和方法可以测试我的服务器上安装了多少个网卡

lspci | grep Ethernet

还有其他可用的命令/方法吗?

答案1

您可以使用 lshw 查看计算机上的所有设备。要仅查看网络设备,请输入:

lshw -class network

答案2

find /sys/class/net -type l -not -lname '*virtual*' -printf '%f\n'

仅显示与物理 NIC 相关的接口。

试图找到一个显示非逻辑的type选项,但是可惜:ip link show

ip link help 2>&1 | grep -A10 'TYPE :='
TYPE := { vlan | veth | vcan | dummy | ifb | macvlan | macvtap |
          bridge | bond | ipoib | ip6tnl | ipip | sit | vxlan |
          gre | gretap | ip6gre | ip6gretap | vti | nlmon |
          bond_slave | ipvlan | geneve | bridge_slave | vrf }

这似乎是一件ip link show无法做到的事情。至少,如果不借助于一个脚本,该脚本首先列出上述每一项,然后grep -v针对未指定的最终运行进行操作,就无法做到type

答案3

ip link show将列出所有看起来像网络接口的东西。

答案4

/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:    3562      60    0    0    0     0          0         0     3562      60    0    0    0     0       0          0
 wlan0: 2491781197 2034240    0    0    0     0          0         0 261797069 1502752    0    0    0     0       0          0
  eth0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0

如您所见,文件的许多列和细节不太容易读取,cat因此我建议使用ifconfig读取该文件并很好地格式化输出的命令。

列出所有接口使用

/sbin/ifconfig -a

这将向您显示未配置/关闭网络接口以及已配置和活动的,如从中读取的/proc/net/dev

相关内容