Для вывода списка сетевых карт, установленных в операционных системах Linux, можно воспользоваться любой из следующих команд. Обратите внимание, что команды ifconfig и ip также отображают информацию об интерфейсах vpn, loopback и других сконфигурированных интерфейсах.
Использование команды lspci
Введите следующую команду lspci вместе с командой egrep, чтобы отфильтровать устройства:
1 2 3 | lspci | egrep -i --color 'network|ethernet' lspci | egrep -i --color 'network|ethernet|wireless|wi-fi' |
Примеры вывода:
1 2 | 09:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5761e Gigabit Ethernet PCIe (rev 10) 0c:00.0 Network controller: Intel Corporation Ultimate N WiFi Link 5300 |
Как использовать команду lshw для отображения сетевых карт (NIC)
По умолчанию команды lshw или hwinfo могут быть не установлены в вашей системе. Поэтому для установки lshw или hwinfo используйте команду apk в Alpine Linux, команду dnf/yum в RHEL, команду apt/apt-get в Debian, Ubuntu, команду zypper в SUSE/OpenSUSE, команду pacman в Arch Linux.
Команда lshw позволяет получить подробную информацию об аппаратной конфигурации машины, включая сетевые карты. Введите следующую команду:
1 | lshw -class network |
Подробная аппаратная информация о сетевых картах в Linux:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | *-network description: Ethernet interface product: NetXtreme BCM5761e Gigabit Ethernet PCIe vendor: Broadcom Corporation physical id: 0 bus info: pci@0000:09:00.0 logical name: eth0 version: 10 serial: b8:ac:6f:65:31:e5 size: 1GB/s capacity: 1GB/s width: 64 bits clock: 33MHz capabilities: pm vpd msi pciexpress bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation configuration: autonegotiation=on broadcast=yes driver=tg3 driverversion=3.121 duplex=full firmware=5761e-v3.71 ip=192.168.1.5 latency=0 link=yes multicast=yes port=twisted pair speed=1GB/s resources: irq:48 memory:f1be0000-f1beffff memory:f1bf0000-f1bfffff |
Вот еще один вывод:
1 | sudo lshw -class network -short |
1 2 3 4 | H/W path Device Class Description =========================================================== /0/100/1d.6/0 wlp82s0 network Wi-Fi 6 AX200 /0/100/1f.6 eth0 network Ethernet Connection (7) I219-LM |
Где:
- -class network : Просмотр всех сетевых карт в системе Linux.
- -short : Отображает дерево устройств, показывающее пути к аппаратному обеспечению, очень похожее на вывод команды ioscan в HP-UX.
Команда Linux ethtool для аппаратных устройств Ethernet
Хотите посмотреть/запросить или управлять настройками сетевых драйверов и оборудования в Linux? Попробуйте воспользоваться командой ethtool:
1 | sudo ethtool enp0s31f6 |
И она выдала массу полезной информации для сетевой карты Ethernet в Linux:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | Settings for enp0s31f6: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on MDI-X: off (auto) Supports Wake-on: pumbg Wake-on: g Current message level: 0x00000007 (7) drv probe link Link detected: yes |
Мы можем вывести информацию о драйвере и для сетевой карты:
1 2 3 | sudo ethtool -i eth0 sudo ethtool -i enp0s31f6 |
Команды ifconfig и ip
Чтобы увидеть все сконфигурированные сетевые устройства, введите:
1 | ifconfig -a |
ИЛИ
1 | ip link show |
ИЛИ
1 | ip a |
Примеры вывод:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 1: lo: mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc mq state UP qlen 1000 link/ether b8:ac:6f:65:31:e5 brd ff:ff:ff:ff:ff:ff inet 192.168.1.5/24 brd 192.168.1.255 scope global eth0 inet6 fe80::baac:6fff:fe65:31e5/64 scope link valid_lft forever preferred_lft forever 3: wlan0: mtu 1500 qdisc noop state DOWN qlen 1000 link/ether 00:21:6a:ca:9b:10 brd ff:ff:ff:ff:ff:ff 4: pan0: mtu 1500 qdisc noop state DOWN link/ether 92:0a:e7:31:e0:83 brd ff:ff:ff:ff:ff:ff 5: vmnet1: mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000 link/ether 00:50:56:c0:00:01 brd ff:ff:ff:ff:ff:ff inet 192.168.121.1/24 brd 192.168.121.255 scope global vmnet1 inet6 fe80::250:56ff:fec0:1/64 scope link valid_lft forever preferred_lft forever 6: vmnet8: mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000 link/ether 00:50:56:c0:00:08 brd ff:ff:ff:ff:ff:ff inet 192.168.179.1/24 brd 192.168.179.255 scope global vmnet8 inet6 fe80::250:56ff:fec0:8/64 scope link valid_lft forever preferred_lft forever |
Хотите получить список всех IP-адресов и интерфейсов в Linux в табличной форме для лучшего восприятия? Попробуйте:
1 2 | ip -br -c link show ip -br -c addr show |
Вывод списка сетевых карт в Linux с помощью команды hwinfo
Откройте терминал и введите:
1 | sudo hwinfo --network --short |
Примеры вывода на Ubuntu Linux :
1 2 3 4 5 6 7 8 9 10 | network interface: veth4cf4e314 Ethernet network interface lxdbr0 Ethernet network interface veth5ac9105a Ethernet network interface veth0932715b Ethernet network interface veth514990e6 Ethernet network interface lo Loopback network interface eth0 Ethernet network interface veth844c4162 Ethernet network interface vethe8d69a5f Ethernet network interface |
Теперь мы можем получить дополнительную информацию для eth0 с помощью команды ip:
1 | ip a s eth0 |
IP-адрес, назначенный для eth0, выглядит следующим образом::
1 2 3 4 5 6 | 2: eth0: mtu 9001 qdisc mq state UP group default qlen 1000 link/ether 0a:99:85:fc:11:57 brd ff:ff:ff:ff:ff:ff inet 172.26.9.151/20 brd 172.26.15.255 scope global dynamic eth0 valid_lft 3501sec preferred_lft 3501sec inet6 fe80::899:85ff:fefc:1157/64 scope link valid_lft forever preferred_lft forever |
Файл /proc/net/dev
Псевдофайл dev содержит информацию о состоянии сетевых устройств. В нем указывается количество принятых и отправленных пакетов, количество ошибок и коллизий и другая базовая статистика. Откройте терминал и введите следующую команду cat или less command/more command:
1 | cat /proc/net/dev |
Пример
1 2 3 4 5 6 7 8 | Inter-| Receive | Transmit face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed lo: 20097 179 0 0 0 0 0 0 20097 179 0 0 0 0 0 0 vmnet8: 0 0 0 0 0 0 0 0 0 33 0 0 0 0 0 0 pan0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 wlan0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eth0: 592509534 623058 0 0 0 0 0 1053 122269656 401567 0 0 0 0 0 0 vmnet1: 0 0 0 0 0 0 0 0 0 34 0 0 0 0 0 0 |
Заключение
Мы познакомились с различными командами Linux для вывода информации об установленных и работающих сетевых картах. Я бы попросил читателей ознакомиться со следующими man-страницами, используя также команду man/help:
1 2 3 4 | man ip man ifconfig man lshw man hwinfo |