如何找到网络接口后面的内核模块?


Answers:


17

在命令行上运行

sudo lshw -C network 

对于每个网络接口,您都会获得一个以开头的部分*-network。每个部分都有logical name:一行包含接口名称的configuration:行和一行包含驱动程序和一些其他信息的行。


10

您可以查询sysfs告诉您此信息。告诉网络接口正在使用哪个驱动程序:

ls -l /sys/class/net/<devname>/device/driver

...这里<devname>是一样的东西eth0。此driver目录将是sysfs中驱动程序节点的符号链接。

要获取提供该驱动程序的模块的名称,请执行以下操作:

ls -l /sys/class/net/<devname>/device/driver/module

...,并且该module目录将是sysfs中模块节点的符号链接。


如何检测虚拟驱动程序(例如veth)?可以使用ethtool -i IFACE_NAME,但是如何从sysfs中找到它呢?
pevik

4

对脚本的恕我直言,最好的方法是使用sysfs信息(如Jeremy Kerr所示),但有关更多信息:

ethtool -i IFACE_NAME

例如:

$ ethtool -i eth0
driver: 8139cp
version: 1.3
firmware-version: 
bus-info: 0000:00:07.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no

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.