如何列出所有实际安装的网卡(Debian)?


14

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

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

lspci | grep Ethernet

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


您对主机有物理访问权吗?您可以确认所有扩充卡正确安装吗?是否所有网卡都来自同一制造商?
Tok

托克你好 感谢您的回答。没有网卡不是来自同一制造商的(一个应该来自英特尔,另一个应该来自realtek)。=>您的问题听起来很有趣。如果卡来自不同的制造商,可能会产生什么影响/结果?而且我对服务器没有物理访问权限,也不知道它们是否正确安装。谢谢。仁
jens

Answers:


14

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

lshw -class network

4
lshw不是默认Debian安装程序的一部分。
Jean-Marc Liotier

1
我觉得这有点过分,我会宁愿只是:IP链路秀
马蒂亚斯

这还会显示网桥接口,这不是物理接口。
Xorax

11

对于以太网:

ls -d /sys/class/net/eth* | wc -l

1
通常这不起作用,因为以太网设备名称不必以eth开头。许多(所有?)主要的Linux发行版现在都在systemd中使用“可预测的以太网接口名称”,从而导致有线接口名称(如en0或enp0s25),因此寻找eth *会错过这些名称。
rajb245 '18

2
尝试一下:$ ls -l /sys/class/net/ | grep -v virtual。它将所有虚拟网络接口过滤掉。在虚拟盒子中运行的ubuntu上工作。
沃纳克

11

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


10
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指定的最终运行进行了处理。


这似乎似乎ip link应该可以处理。如果使用大量虚拟接口(例如桥接或VLAN),尤其是这些虚拟接口已重命名。
Centimane

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

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

要列出所有接口,请使用

/sbin/ifconfig -a

从中读取的内容将显示未配置/关闭的网络接口以及已配置和活动的网络接口/proc/net/dev


1
modprobe -c |grep 'eth[0-9]'

显示每个以太网设备正在使用的真实设备驱动程序


...但是以太网设备的名称可能有所不同
Joril
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.