回答:
コマンドラインで実行
sudo lshw -C network
すべてのネットワークインターフェイスについて、で始まるセクションが表示されます*-network
。すべてのセクションにlogical name:
は、インターフェイス名configuration:
を含む行と、ドライバーおよびその他の情報を含む行があります。
sysfsを照会して、この情報を伝えることができます。ネットワークインターフェイスが使用しているドライバーを確認するには:
ls -l /sys/class/net/<devname>/device/driver
...の<devname>
ようなものですeth0
。このdriver
ディレクトリは、sysfsのドライバーノードへのシンボリックリンクになります。
そのドライバーを提供するモジュールの名前を取得するには:
ls -l /sys/class/net/<devname>/device/driver/module
...そして、このmodule
ディレクトリはsysfsのモジュールノードへのシンボリックリンクになります。
スクリプトの私見では、sysfs情報(ジェレミーカーが示すように)を使用するのが最適ですが、詳細は以下のとおりです。
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
veth
)で可能ですがethtool -i IFACE_NAME
、sysfsから見つける方法は?