- How can I find available network interfaces?
- Список сетевых интерфейсов Linux
- Список сетевых интерфейсов Linux
- 1. Файловая система
- 2. Утилита ifconfig
- 3. Утилита ip
- 4. Утилита nmcli
- 5. Утилита netstat
- 6. Файл /proc/net/dev
- Выводы
- Как узнать сетевую карту в Linux
- Информация о сетевой карте с помощью Ethtool
- Информация о сетевой карте в lshw
- Список сетевых карт в lspci
- Информация о сетевой карте с помощью ip
- Выводы
How can I find available network interfaces?
This is in regard to linux, but if anyone knows of a general *nix method that would be good. I booted a system yesterday with an ethernet cable plugged in. «NetworkManager» is not installed, so once it started I went to look for the name of the ethernet interface with ifconfig to start a DHCP client manually, but it did not show anything other than lo . The NIC was listed via lspci , and the appropriate kernel driver was loaded. The system normally uses wifi, and I could remember the interface name for that was wlan0 . When I tried ifconfig wlan0 up , wlan0 appeared. But the only ethernet interface names I could remember were eth[N] and em[N] — neither of which worked. This document refers to «predictable interface names» but does not do a good job of explaining what they might be in simple terms. It does refer to a piece of source code which implies the name in this case might be deduced from the the PCI bus and slot numbers, which seems like an unnecessarily complicated hassle. Other searching around led me to believe that this might be determined by systemd in conjunction with udev , but there are almost 100 files in /usr/lib/udev/rules.d and spending an hour trying to determine where (and if) there’s a systemd config file for this also seems ridiculous. It would also be nice to know for certain that they are available, not just how they might be named if they are, so I can rule out hardware problems, etc. Isn’t there a simple way to find the names of available network interfaces on linux?
In the question you state that you used ip link but then you accept an answer that suggests ip link show which does the exactly same thing. Why?
The manual pages for iproute2 are quite good nowadays, I guess you’re using and older version of the package.
Список сетевых интерфейсов Linux
В операционной системе Linux не только жесткие и SSD диски представлены файлами в специальной файловой системе, но и сетевые интерфейсы. Существует несколько способов посмотреть список сетевых интерфейсов Linux, но самый простой из них — это просто посмотреть содержимое папки в файловой системе.
В этой небольшой статье мы рассмотрим все основные способы выполнить эту задачу в терминале или графическом интерфейсе.
Список сетевых интерфейсов Linux
Сетевые интерфейсы проводного интернета Ethernet обычно имеют имя, начинающиеся с символов enp, например, enp3s0. Такое именование используется только если ваш дистрибутив использует systemd, иначе будет применена старая система именования, при которой имена начинаются с символов eth, например eth0. Беспроводные сетевые интерфейсы, обычно называются wlp или wlx при использовании systemd, например, wlp3s0. Без использования systemd имя беспроводного интерфейса будет начинаться с wlan, например wlan0. Все остальные интерфейсы обычно виртуальные. Один из самых основных виртуальных интерфейсов — lo. Это локальный интерфейс, который позволяет программам обращаться к этому компьютеру. А теперь рассмотрим несколько способов посмотреть их список.
1. Файловая система
Все файлы устройств сетевых интерфейсов находятся в папке /sys/class/net. Поэтому вы можете посмотреть её содержимое:
2. Утилита ifconfig
Утилита ifconfig выводит не только список сетевых интерфейсов, но и информацию о них, такую как состояние, IP адрес, MAC адрес и другие параметры. Для отображения всех интерфейсов достаточно выполнить программу без параметров:
3. Утилита ip
Программа ifconfig устарела и ей на смену пришла утилита ip. Она объединяет в себе функции нескольких программ, например ifconfig, route, brctl и других. Посмотреть список устройств с помощью ip можно выполнив команду:
Здесь информации намного меньше, показывается только состояние устройства, MTU и ещё несколько параметров. Можно вывести информацию в более компактном виде, использовав опцию -br:
В таком случае все данные отображаются в одну строчку, выводится состояние, MAC адрес и ещё несколько опций.
4. Утилита nmcli
Посмотреть всю нужную информацию можно и с помощью консольной утилиты управлением брандмауэром — nmcli:
Здесь выводится подключение NetworkManager, связанное с конкретным устройством, а также его состояние.
5. Утилита netstat
Программа netstat тоже умеет показывать сетевые интерфейсы и статистику по переданным данным если ей передать опцию -i:
6. Файл /proc/net/dev
В файле /proc/net/dev тоже содержится список всех сетевых интерфейсов, а также статистика их использования:
Выводы
Теперь вы знаете как посмотреть сетевые интерфейсы в Linux, как видите, это очень просто сделать. Если у вас остались вопросы, спрашивайте в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Как узнать сетевую карту в Linux
Иногда нужно посмотреть сетевые карты в Linux, подключенные к компьютеру, узнать имя продукта или технические характеристики карты, а также скорость передачи данных. Например, когда вы хотите проверить совместимость сетевого драйвера или модуля ядра с Ethernet адаптером необходимо знать его аппаратные спецификации, такие как: номер модели и производитель, (например: Broadcom NetXtreme, Intel I350), скорость (например: (1 Гбит/сек, 10 Гбит/сек), режим соединения (full/half duplex) и т д.
Также эта информация вам понадобится, если вы хотите подобрать драйвер для своего wifi адаптера. В этой инструкции я расскажу как узнать сетевую карту Linux и посмотреть все доступные ее характеристики.
Информация о сетевой карте с помощью Ethtool
Если вас интересует информация о проводной сетевой карте Ehternet, то вы можете воспользоваться утилитой Ethtool. Это инструмент командной строки для проверки и изменения настроек PCI Ethernet карт. Для установки Ethtool в Ubuntu или Debian используйте команду:
В других дистрибутивах установка производится аналогичным образом, только нужно использовать подходящий пакетный менеджер.
Для отображения настроек сетевой карты в ethtool запустите утилиту передав в параметрах имя сетевого адаптера. Права суперпользователя здесь нужны для того, чтобы утилита могла получить информацию о настройках локальной сети и статусе соединения.
Здесь вы можете посмотреть поддерживаемые режимы работы Supported link modes, скорость Speed и тип коннектора Port, а также состояние подключения. Для просмотра информации о сетевом драйвере и прошивке используйте опцию i:
Здесь вы можете видеть какие режимы поддерживает прошивка, а также ее версию. Если вас интересует MAC адрес выполните:
Информация о сетевой карте в lshw
Во втором способе мы воспользуемся утилитой для отображения подробной информации об аппаратуре Linux — lshw. С помощью нее вы можете посмотреть информацию не только о карте Ethernet, но и о Wifi адаптере, а также посмотреть список сетевых карт.
Для установки lshw на Ubuntu или Debian наберите:
Чтобы посмотреть узнать сетевую карту linux и просмотреть подробные сведения о ней, запустите утилиту со следующими параметрами:
В выводе команды вы увидите все подключенные к системе сетевые интерфейсы, кроме того, тут показывается более подробная информация, чем в выводе предыдущей утилиты. В самом начале вы видите производителя — vendor и имя продукта — product, скорость передачи данных size, а также в разделе configuration можно найти поле driver, где указан используемый драйвер.
Список сетевых карт в lspci
Если вам нужно узнать только продукт и имя производителя вашей сетевой карты можно использовать lspci. Обычно lscpi уже предустановлена в системе, но если нет ее можно установить командой:
sudo apt install pciutils
Теперь для просмотра доступных сетевых карт используйте:
Тут вы можете видеть, что к системе подключены две сетевые карты linux, для проводного интернета и беспроводная, обе от Broadcom.
Информация о сетевой карте с помощью ip
Утилита ip позволяет посмотреть более подробную информацию о сетевом протоколе для вашей карты. Для просмотра информации выполните:
На снимке экрана вы видите две физические сетевые карты linux — wlan0 и eth0, а также два виртуальных устройства. Для каждой из карт можно узнать состояние и MAC адрес.
Выводы
В этой статье мы рассмотрели несколько способов узнать сетевую карту Linux. Вы можете посмотреть не только производителя и название устройства, но и его характеристики, такие как скорость сетевой карты linux, используемый драйвер и MAC адрес. Если у вас остались вопросы, спрашивайте в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.