identify physical network device by interface name in linux

I have multiple USB to ethernet devices which are plugged to the same pc.

Is there a way to identify which one is mapped to which eth* network interface via usb port/etc ?

I have tried looking in lsusb and /proc, but haven't found anything useful.


Solution 1:

The mapping between interface names and devices can be seen in /sys/class/net/

Example:

$ 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

My eth0 is on a PCI bus, device 0x19, as the symbolic link reveals.