Как перечислить все физически установленные Сетевые платы (Debian)?

Я не уверен, является ли это тем, что Вы ищете или не, но я всегда нахожу этот сайт удобным чтением по теме:

http://highscalability.com/

К вашему сведению - мне нечего делать с w/that сайтом.

13
задан 24 February 2011 в 18:48
8 ответов

Можно использовать lshw для наблюдения всех устройств на машине. Для просмотра просто сетевых устройств, войдите:

lshw -class network
13
ответ дан 2 December 2019 в 21:14
  • 1
    Я нахожу это немного слишком много, I' ll скорее просто: IP шоу ссылки –  Matías 3 November 2014 в 17:24

Для Ethernet:

ls -d /sys/class/net/eth* | wc -l
11
ответ дан 2 December 2019 в 21:14

ip link show перечислит все, что похоже на сетевой интерфейс.

11
ответ дан 2 December 2019 в 21:14

/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

7
ответ дан 2 December 2019 в 21:14
modprobe -c |grep 'eth[0-9]'

показывает драйвер физического устройства, используемый для каждого устройства Ethernet

1
ответ дан 2 December 2019 в 21:14
find /sys/class/net -type l -not -lname '*virtual*' -printf '%f\n'

Показывает только интерфейсы, относящиеся к физическому сетевому адаптеру.

Пытался найти параметр типа для 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 для окончательного запуска без указания типа .

10
ответ дан 2 December 2019 в 21:14

ls -d /sys/class/net/*/device | cut -d/ -f5 выведет только реальные сетевые карты, исключая облигации, петлевые устройства и так далее.

В качестве бонуса ls -l /sys/class/net/*/device/driver/module | вырезать -d/ -f5,13 | sed?/? -> ?' также покажет связанный с ним драйвер.

Пример аппаратного брандмауэра от крупного поставщика:

# ls -l /sys/class/net/*/device/driver/module | cut -d/ -f5,13 | sed 's?/? -> ?'
Mgmt -> igb
Sync -> igb
eth2-01 -> igb
eth2-02 -> igb
eth2-03 -> igb
eth2-04 -> igb
eth2-05 -> igb
eth2-06 -> igb
eth2-07 -> igb
eth2-08 -> igb
eth3-01 -> ixgbe
eth3-02 -> ixgbe
4
ответ дан 5 June 2020 в 13:23

Это отлично работает для меня

lshw -class network -businfo
0
ответ дан 3 December 2021 в 13:19

Теги

Похожие вопросы