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

jen*_*ens 19 networking debian

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

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

lspci | grep Ethernet
Run Code Online (Sandbox Code Playgroud)

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

pya*_*asi 18

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

lshw -class network
Run Code Online (Sandbox Code Playgroud)

  • lshw 不是默认 Debian 设置的一部分。 (5认同)

Law*_*ceC 16

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


ban*_*age 15

find /sys/class/net -type l -not -lname '*virtual*' -printf '%f\n'
Run Code Online (Sandbox Code Playgroud)

仅显示与物理 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 }
Run Code Online (Sandbox Code Playgroud)

这似乎是一件ip link show不能做的事情。至少不是不诉诸脚本,该脚本首先列出上述每一项,然后grep -v在没有type指定的情况下针对最终运行执行。


oos*_*hro 11

对于以太网:

ls -d /sys/class/net/eth* | wc -l
Run Code Online (Sandbox Code Playgroud)

  • 试试这个:`$ ls -l /sys/class/net/ | grep -v 虚拟`。它过滤掉所有虚拟网络接口。在 Virtual Box 中运行 ubuntu。 (3认同)

Hrv*_*jar 7

/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
Run Code Online (Sandbox Code Playgroud)

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

列出所有接口使用

/sbin/ifconfig -a

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


Nic*_*lay 6

ls -d /sys/class/net/*/device | cut -d/ -f5将仅列出真实的NIC,忽略绑定、环回设备等。

作为奖励,ls -l /sys/class/net/*/device/driver/module | cut -d/ -f5,13 | sed 's?/? -> ?'还将显示绑定到它的驱动程序。

主要供应商的硬件防火墙示例:

# ls -l /sys/class/net/*/device/driver/module | cut -d/ -f5,13 | sed 's?/? -> ?'
Mgmt -> igb
Sync -> igb
eth2-01 -> igb
eth2-02 -> igb
eth2-03 -> igb
eth2-04 -> igb
eth2-05 -> igb
eth2-06 -> igb
eth2-07 -> igb
eth2-08 -> igb
eth3-01 -> ixgbe
eth3-02 -> ixgbe
Run Code Online (Sandbox Code Playgroud)