Назад | Перейти на главную страницу

идентифицировать физическое сетевое устройство по имени интерфейса в Linux

У меня есть несколько устройств USB-Ethernet, подключенных к одному компьютеру.

Есть ли способ определить, какой из них сопоставлен с каким сетевым интерфейсом eth * через порт usb / и т. Д.?

Я пробовал искать в lsusb и / proc, но не нашел ничего полезного.

Соответствие между именами интерфейсов и устройствами можно увидеть в /sys/class/net/

Пример:

$ ls -la /sys/class/net
total 0
drwxr-xr-x  2 root root 0 Oct 29 12:49 .
drwxr-xr-x 56 root root 0 Oct 29 12:49 ..
lrwxrwxrwx  1 root root 0 Oct 29 12:49 eth0 -> ../../devices/pci0000:00/0000:00:19.0/net/eth0
lrwxrwxrwx  1 root root 0 Oct 29 12:49 lo -> ../../devices/virtual/net/lo

Мой eth0 находится на шине PCI, устройство 0x19, как показывает символическая ссылка.

Если ваша система использует udev для управления устройствами, вы можете использовать следующее для получения идентификаторов устройств:

grep -i eth /var/log/udev

Если ваша ОС хранит там журнал активности udev; при необходимости отрегулируйте.

Вы можете отключить его и снова подключить, а затем проверить последние сообщения в dmesg.