MNorin.com
Блог про Linux, Bash и другие информационные технологии
Как в linux посмотреть сетевые интерфейсы?
Вопрос: Как в linux посмотреть сетевые интерфейсы?
Ответ: одной из этих команд:
ip a
/sbin/ifconfig
nestat -i
Похожие посты:
- Как в linux посмотреть пользователей?
- Как в linux посмотреть размер папки (директории)?
- Как посмотреть открытые порты?
- Маленькая особенность настройки сети в Solaris’е
- Как в linux изменить часовой пояс?
- Подключение принтера KYOCERA ECOSYS FS-1060DN в Linux
- Как узнать версию операционной системы на основе ядра Linux
- Как в linux сделать файл исполняемым?
- Как очистить кэш памяти в linux?
- whereami — автоматическая реконфигурация
- Нажмите здесь, чтобы поделиться контентом на Facebook. (Открывается в новом окне)
- Нажмите, чтобы поделиться на LinkedIn (Открывается в новом окне)
- Нажмите, чтобы поделиться на Reddit (Открывается в новом окне)
- Нажмите, чтобы поделиться на Twitter (Открывается в новом окне)
- Нажмите, чтобы поделиться записями на Tumblr (Открывается в новом окне)
- Нажмите, чтобы поделиться записями на Pinterest (Открывается в новом окне)
- Нажмите, чтобы поделиться записями на Pocket (Открывается в новом окне)
- Нажмите, чтобы поделиться в Telegram (Открывается в новом окне)
- Нажмите, чтобы поделиться в WhatsApp (Открывается в новом окне)
- Нажмите, чтобы поделиться в Skype (Открывается в новом окне)
Как определить состояние сетвого интерфейса
Интересует вопрос о том как правильно проверить доступность и состояние одного или нескольких интерфейсов.
А самое интересное это как программно узнавать об изменении состояния сетевого интерфейса.
SOLVKOM
09.12.10 17:05:28 MSK
Объясни что ты понимаешь под доступностью и состоянием сетевых интерфейсов.
Deleted
( 09.12.10 17:17:19 MSK )

ananas ★★★★★
( 09.12.10 17:21:18 MSK )

fat_angel ★★★★★
( 09.12.10 17:26:23 MSK )
Pterodaktil
( 09.12.10 17:27:21 MSK )

man ifconfig, man bash, man cron
silw ★★★★★
( 09.12.10 17:27:31 MSK )

Иногда сетевой интерфейс в ifconfig может быть не виден (если имеет неактивное состояние). В этом случае надо воспользоваться командой ip.
eternity ★
( 09.12.10 18:33:50 MSK )
Ответ на: комментарий от eternity 09.12.10 18:33:50 MSK

Я имел ввиду если в выводе команды ip a будут видны сетевые интерфейсы со STATE DOWN. ,
eternity ★
( 09.12.10 18:36:38 MSK )

vasily_pupkin ★★★★★
( 09.12.10 18:42:27 MSK )
Ответ на: комментарий от eternity 09.12.10 18:33:50 MSK

Иногда сетевой интерфейс в ifconfig может быть не виден
Хотя лучше таки ip, потому как ifconfig не покажет безымянные алисы, мать его.
true_admin ★★★★★
( 09.12.10 20:03:22 MSK )
Ответ на: комментарий от eternity 09.12.10 18:33:50 MSK
а в каком пакете этот ваш ip?
anonymous
( 09.12.10 20:10:52 MSK )
Ответ на: комментарий от anonymous 09.12.10 20:10:52 MSK

$ dpkg -S /sbin/ip
iproute: /sbin/ip
arhibot ★
( 09.12.10 21:26:20 MSK )
Ответ на: комментарий от true_admin 09.12.10 20:03:22 MSK

Да, совсем забыл про опцию 🙂
eternity ★
( 09.12.10 22:09:48 MSK )
Ответ на: комментарий от anonymous 09.12.10 20:10:52 MSK

>а в каком пакете этот ваш ip?
eternity ★
( 09.12.10 22:10:33 MSK )
grep $interface /proc/net/dev
anon_666 ★
( 09.12.10 22:13:46 MSK )
Ответ на: комментарий от true_admin 09.12.10 20:03:22 MSK

>Хотя лучше таки ip, потому как ifconfig не покажет безымянные алисы, мать его.
Ну и в том случае, если в файле /etc/udev/rules.d/70-persistent-net.rules окажутся одинаковые алиасы(иногда могут не переименоваться автоматически, при удалении/добавлении сетевой карты).
eternity ★
( 09.12.10 22:17:12 MSK )

tensai_cirno ★★★★★
( 10.12.10 02:21:17 MSK )

ethtool или miitool в зависимости от ситуации. Или смотреть на RUNNING, CARRIER и UP флаги в ifconfig.
Если хочется получать событие об изменении состояния то dbus и NetworkManager =)
realloc ★★★★
( 10.12.10 16:31:27 MSK )
Ответ на: комментарий от realloc 10.12.10 16:31:27 MSK

former_anonymous ★★★
( 10.12.10 18:44:23 MSK )
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум состояние интерфейса (2004)
- Форум Несколько сетевых интерфейсов (2008)
- Форум tor два сетевых интерфейса (2021)
- Форум vmware и сетвая карта (2003)
- Форум Как определить загрузку сетевого интерфейса ? (2012)
- Форум snmp контроль состояния сетевых устройств (2016)
- Форум Состояние сокета в Perl (2003)
- Форум Как определить текущие ip-адреса, назначенные сетевым интерфейсам? (2018)
- Форум определить интерфейс по USB ID (2019)
- Форум pacemaker: как узнать состояние конкретного ресурса на нужной ноде? (2017)
Сетевые настройки
Ubuntu поставляется с набором графических утилит для настройки ваших сетевых устройств. Этот документ предназначен для серверных администраторов и сфокусирован на управлении вашей сетью через командную строку.
Интерфейсы Ethernet
Интерфейсы Ethernet идентифицируются системой с использованием имен ethX, где X является числовым значением. Первый интерфейс обычно обозначается как eth0, второй как eth1, и все последующие с увеличивающимися номерами по порядку.
Определение Ethernet интерфейсов
Для быстрого определения всех доступных сетевых интерфейсов вы можете использовать команду ifconfig как показано ниже.
ifconfig -a | grep eth eth0 Link encap:Ethernet HWaddr 00:15:c5:4a:16:5a
Другое приложение, которое может помочь идентифицировать все доступные вашей системе сетевые интерфейсы, это команда lshw. В примере ниже lshw показывает один Ethernet интерфейс с логическим именем eth0 вместе с информацией по шине, деталями драйвера и всеми поддерживаемыми возможностями.
sudo lshw -class network *-network description: Ethernet interface product: BCM4401-B0 100Base-TX vendor: Broadcom Corporation physical id: 0 bus info: pci@0000:03:00.0 logical name: eth0 version: 02 serial: 00:15:c5:4a:16:5a size: 10MB/s capacity: 100MB/s width: 32 bits clock: 33MHz capabilities: (snipped for brevity) configuration: (snipped for brevity) resources: irq:17 memory:ef9fe000-ef9fffff
Логические имена интерфейсов Ethernet
Логические имена интерфейсов настраиваются в файле /etc/udev/rules.d/70-persistent-net.rules. Если вы захотите определить какой интерфейс получит определенное логическое имя, найдите строку по совпадению физического MAC адреса интерфейса и измените значение NAME=ethX на желаемое логическое имя. Перегрузите систему для применения изменений.
Настройки интерфейса Ethernet
ethtool — это программа, которая показывает и изменяет настройки сетевых карт, такие как автоопределение, скорость порта, режим дуплекса и функция Wake-on- LAN (пробуждение системы через сеть). Эта программа не устанавливается по умолчанию, но доступна к установке из репозиториев.
sudo apt-get install ethtool
Ниже приведен пример как посмотреть возможности карты и настроить параметры интерфейса Ethernet.
sudo ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on Supports Wake-on: g Wake-on: d Current message level: 0x000000ff (255) Link detected: yes
Изменения, сделанные с использованием команды ethtool, временные и будут утеряны после перезагрузки. Если вы хотите сохранить настройки, просто добавьте требуемую команду ethtool в строку pre-up в файле /etc/network/interfaces.
Ниже приведен пример как интерфейс, определенный как eth0, может быть постоянно настроен на скорость порта 1000Мб/с в режиме полного дуплекса.
auto eth0 iface eth0 inet static pre-up /sbin/ethtool -s eth0 speed 1000 duplex full
Несмотря на то, что пример выше показывает интерфейс, настроенный статично, это работает и с другими методами, такими как DHCP . Этот пример слишком примитивен, чтобы продемонстрировать всю важность и возможности использования строки pre-up по отношению к настройке интерфейсов.
Адресация IP
Следующая секция описывает процесс настройки IP адреса вашей системы и шлюза по умолчанию, необходимые для подключения к локальной сети и интернету.
Временное назначение IP адреса
Для временной настройки сети вы можете использовать стандартные команды, такие как ip, ifconfig и route, которые присутствуют также и в других системах на базе GNU/Linux. Эти команды позволят изменить настройки, которые будут применены мгновенно, но они не будут постоянными и будут утеряны после перезагрузки.
Для временной настройки IP адреса вы можете использовать команду ifconfig следующим образом. Только замените IP адрес и маску подсети на соответствующие требованиям вашей сети.
sudo ifconfig eth0 10.0.0.100 netmask 255.255.255.0
Для проверки настройки IP адреса eth0 вы можете использовать команду ifconfig таким образом:
ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:15:c5:4a:16:5a inet addr:10.0.0.100 Bcast:10.0.0.255 Mask:255.255.255.0 inet6 addr: fe80::215:c5ff:fe4a:165a/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:466475604 errors:0 dropped:0 overruns:0 frame:0 TX packets:403172654 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2574778386 (2.5 GB) TX bytes:1618367329 (1.6 GB) Interrupt:16
Для настройки шлюза по умолчанию вы можете использовать команду route следующим образом. Измените адрес шлюза по умолчанию на требуемый для вашей сети.
sudo route add default gw 10.0.0.1 eth0
Для проверки настройки шлюза по умолчанию используйте команду route таким образом:
route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.0.0.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0 0.0.0.0 10.0.0.1 0.0.0.0 UG 0 0 0 eth0
Если вам требуется DNS для временной настройки сети, вы можете добавить IP адреса DNS серверов в файл /etc/resolv.conf. Пример ниже показывает как указать два DNS сервера в /etc/resolv.conf, которые могут быть заменены на сервера использующиеся в вашей сети. Более пространное описание настройки DNS клиента приведено в следующей секции.
nameserver 8.8.8.8 nameserver 8.8.4.4
Если вам больше не требуется эта конфигурация и вы хотите отменить все IP настройки интерфейса, вы можете использовать команду ip с опцией flush как показано ниже:
ip addr flush eth0
Сброс IP настроек с использованием команды ip не очистит содержимое /etc/resolv.conf. Вам придется удалять или менять эти значения вручную.
Динамическое присвоение IP адреса (клиент DHCP)
Чтобы настроить ваш сервера на использование DHCP для динамического присвоения адреса, добавьте dhcp метод в адресную секцию inet для соответствующего интерфейса в файле /etc/network/interfaces. Пример ниже предполагает, что вы настраиваете ваш первый интерфейс Ethernet, обозначенный как eth0.
auto eth0 iface eth0 inet dhcp
Добавив настройку интерфейса как показано выше, вы можете вручную включить интерфейс командой ifup, которая активизирует процесс DHCP через dhclient.
sudo ifup eth0
Для отключения интерфейса вручную вы можете воспользоваться командой ifdown, которая запустит процесс освобождения DHCP и остановки интерфейса.
sudo ifdown eth0
Статическое присвоение IP адреса
Для настройки вашей системы под использование статического присвоения IP адреса добавьте метод static в секцию inet для соответствующего интерфейса в файле /etc/network/interfaces. Пример ниже предполагает, что вы настраиваете ваш первый интерфейс Ethernet, обозначенный как eth0. Измените значения адреса, маски сети и шлюза для соответствия требованиям вашей сети.
auto eth0 iface eth0 inet static address 10.0.0.100 netmask 255.255.255.0 gateway 10.0.0.1
Добавив настройку интерфейса как показано выше, вы можете вручную включить интерфейс командой ifup.
sudo ifup eth0
Для отключения интерфейса вручную вы можете воспользоваться командой ifdown.
sudo ifdown eth0
Интерфейс Loopback (обратной петли)
Интерфейс loopback определяется системой как lo и по умолчанию задает адрес 127.0.0.1. Он может быть выведен командой ifconfig.
ifconfig lo lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:2718 errors:0 dropped:0 overruns:0 frame:0 TX packets:2718 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:183308 (183.3 KB) TX bytes:183308 (183.3 KB)
По умолчанию может присутствовать две строки в /etc/network/interfaces отвечающих за автоматическую настройку интерфейса loopback. Рекомендуется оставить эти настройки без изменений пока не возникнет специфической причины для их изменения. Пример этих двух строк приведен ниже.
auto lo iface lo inet loopback
Разрешение имен
Под разрешением имени по отношению к IP сетям подразумевается процесс определения IP адреса по имени хоста, упрощающий идентификацию ресурса в сети. Данная секция раскрывает как правильно настроить вашу систему для разрешения имен с помощью DNS и статических записей имен хостов.
Настройка клиента DNS
Традиционно файл /etc/resolv.conf был статическим файлом настроек, который очень редко требовалось изменять или он менялся автоматически по запросам DHCP клиента. В настоящее время компьютер может переключаться с одной сети на другу слишком часто и структура resolveconf теперь используется для отслеживания этих изменений и автоматического обновления настроек разрешений. Это выглядит как промежуточный слой между программами, которые предоставляют информацию от серверов имен, и приложениями, которым она требуется. Resolvconf делает доступной информацию через подключение сценариев, связанных с настройкой сетевых интерфейсов. Наиболее значимое отличие для пользователя в том, что любые ручные изменения /etc/resolv.conf будут потеряны при перезаписи по каждому срабатыванию триггеров resolveconf. Вместо этого resolveconf использует ловушки клиента DHCP и /etc/network/interfaces для генерации списка серверов имен и доменов, чтобы положить в /etc/resolv.conf, который теперь является символьной ссылкой:
/etc/resolv.conf -> ../run/resolvconf/resolv.conf
Для настройки разрешений добавьте IP адреса серверов имен, соответствующие вашей сети, в файл /etc/network/interfaces. Вы также можете добавить необязательный список подбора DNS суффиксов для получения доменных имен. Для каждой другой разрешенной опции настройки resolv.conf вы можете добавить внутри абзаца по отдельной строке с этой опцией с префиксом имени dns-. Результирующий файл может выглядеть так:
iface eth0 inet static address 192.168.3.3 netmask 255.255.255.0 gateway 192.168.3.1 dns-search example.com dns-nameservers 192.168.3.45 192.168.8.10
Опции поиска также могут использоваться разные доменные имена, таким образом DNS запросы будут дополняться ими в том порядке, как они вводились. Например, ваша сеть может иметь несколько поддоменов для поиска; родительский домен example.com и два поддомена sales.example.com и dev.example.com.
Если у вас несколько доменов, в которых вы собираетесь искать, ваша конфигурация может выглядеть так:
iface eth0 inet static address 192.168.3.3 netmask 255.255.255.0 gateway 192.168.3.1 dns-search example.com sales.example.com dev.example.com dns-nameservers 192.168.3.45 192.168.8.10
Если вы попытаетесь проверить хост с именем server1, ваша система автоматически запросит DNS по их полным доменным именам (FQDN) в следующем порядке:
server1.example.com
server1.sales.example.com
server1.dev.example.com
Если совпадений не будет, DNS сервер предоставит результат notfound и запрос DNS потерпит неудачу.
Статические имена хостов
Статические имена хостов — это локально определенные соотношения «имя хоста-IP», находящиеся в файле /etc/hosts. Значения, определенные в файле hosts, по умолчанию превалируют над DNS . Это означает, что если система пытается разрешить имя и находит его в /etc/hosts, она не будет пытаться смотреть записи в DNS . В некоторых конфигурациях, особенно когда доступ в интернет не требуется, сервера, соединенные с ограниченным количеством ресурсов, могут просто использовать статический список имен вместо DNS .
Далее приведен пример файла hosts, где ряд локальных серверов определены обычными именами хостов, алиасами и их эквивалентами полных имен (FQDN).
127.0.0.1 localhost 127.0.1.1 ubuntu-server 10.0.0.11 server1 vpn server1.example.com 10.0.0.12 server2 mail server2.example.com 10.0.0.13 server3 www server3.example.com 10.0.0.14 server4 file server4.example.com
В примере выше обратите внимание, что каждый сервер имеет алиас в добавок к их правильным коротким и полным именам. server1 соотносится с именем vpn, server2 определен как mail, server3 как www и server4 как file.
Настройка переключения сервиса имен
Последовательность, в которой ваша система выбирает метод разрешения имен по IP адресам управляется настроечным файлом переключателя сервиса имен (NSS) /etc/nsswitch.conf. Как отмечено в предыдущей секции, обычно статические имена хостов, определенные в системном файле /etc/hosts, имеют приоритет перед разрешением имен через DNS . Далее пример строки, отвечающей за этот порядок перебора имен хостов в файле /etc/nsswitch.conf.
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
files сперва пытается разрешить статическое имя хоста в /etc/hosts.
mdns4_minimal пытается разрешить имя с использованием параллельного (multicast) DNS .
[NOTFOUND=return] означает, что любой ответ notfound, предшествующий процессу mdns4_minimal, должен считаться значимым (авторитетным) и что система не будет пытаться продолжать искать ответ.
dns представляет собой наследуемый последовательный (legacy unicast) DNS запрос.
mdns4 представляет параллельный (multicast) DNS запрос.
Для изменения последовательности вышеупомянутых методов разрешения имен вы можете просто заменить строку hosts: на значение по вашему выбору. Например, если вы предпочитаете использовать последовательный DNS до параллельного DNS , вы можете изменить строку в /etc/nsswitch.conf как показано ниже:
hosts: files dns [NOTFOUND=return] mdns4_minimal mdns4
Строительство мостов 🙂
Соединение нескольких интерфейсов — наиболее продвинутая настройка, но очень полезная во множестве сценариев. Один вариант — установка взаимодействия между несколькими сетевыми интерфейсами и затем использование защитного экрана (firewall) для фильтрования трафика между двумя сегментами сети. Другой сценарий — использование связывания на системе с одним интерфейсом для разрешения виртуальным машинам иметь прямой доступ во внешнюю сеть. Следующий пример раскрывает последний сценарий.
Перед настойкой взаимодействия вам потребуется установить пакет bridge-utils. Для установки пакета введите в терминале:
sudo apt-get install bridge-utils
Далее настройте взаимодействие, отредактировав /etc/network/interfaces:
auto lo iface lo inet loopback auto br0 iface br0 inet static address 192.168.0.10 network 192.168.0.0 netmask 255.255.255.0 broadcast 192.168.0.255 gateway 192.168.0.1 bridge_ports eth0 bridge_fd 9 bridge_hello 2 bridge_maxage 12 bridge_stp off
Введите значения соответствующие вашим физическому интерфейсу и сети.
Теперь перезапустите сеть для разрешения взаимодействия интерфейсов:
sudo /etc/init.d/networking restart
Теперь новый мост между интерфейсами поднят и работает. Утилита brctl предоставит полезную информацию о статусе моста, определяет какие интерфейсы участвуют во взаимодействии и т.д. Смотрите man brctl для дополнительной информации.
Ссылки
Страница Ubuntu Wiki Network содержит ссылки на заметки по более продвинутым настройкам сети.
Страница resolvconf man содержит больше информации по resolvconf.
Страница interfaces man содержит детали по дополнительным опциям для /etc/network/interfaces.
Страница dhclient man содержит детали по большему количеству опций для настройки DHCP клиента.
Для дополнительной информации по настройке DNS клиента смотрите страницу resolver man. Также 6 глава руководства O’Reilly Администрирования сетей Linux является хорошим источником по разрешению имен и настройке сервиса имен.
Для дополнительной информации по сетевому связыванию смотрите страницу brctl man и страницу Net:Bridge от Linux Foundation.
- Сайт
- Об Ubuntu
- Скачать Ubuntu
- Семейство Ubuntu
- Новости
- Форум
- Помощь
- Правила
- Документация
- Пользовательская документация
- Официальная документация
- Семейство Ubuntu
- Материалы для загрузки
- Совместимость с оборудованием
- RSS лента
- Сообщество
- Наши проекты
- Местные сообщества
- Перевод Ubuntu
- Тестирование
- RSS лента
© 2018 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
Как найти доступные сетевые интерфейсы в системах Linux

Мануал
Автор cryptoparty На чтение 8 мин Опубликовано 19.10.2021
Мы можем настроить сетевые интерфейсы в Linux во время установки.
Но некоторые из вас могут предпочесть сделать это после установки или изменить существующие настройки.
Как вы уже знаете, для настройки сетевых параметров из командной строки необходимо сначала узнать, сколько интерфейсов доступно в системе.
В этом подробном руководстве рассматриваются все возможные способы перечисления и поиска доступных сетевых интерфейсов в операционных системах Linux и Unix.
1. Отображение сетевых интерфейсов с помощью команды ifconfig
Наиболее часто используемый метод поиска информации о сетевом интерфейсе – команда ifconfig.
Я полагаю, что некоторые пользователи Linux все еще используют ее.
$ ifconfig -a
enp5s0: flags=4098 mtu 1500 ether 24:b6:fd:37:8b:29 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 171420 bytes 303980988 (289.8 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 171420 bytes 303980988 (289.8 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 wlp9s0: flags=4163 mtu 1500 inet 192.168.225.37 netmask 255.255.255.0 broadcast 192.168.225.255 inet6 2409:4072:6183:c604:c218:85ff:fe50:474f prefixlen 64 scopeid 0x0 inet6 fe80::c218:85ff:fe50:474f prefixlen 64 scopeid 0x20 ether c0:18:85:50:47:4f txqueuelen 1000 (Ethernet) RX packets 564574 bytes 628671925 (599.5 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 299706 bytes 60535732 (57.7 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Как видно из приведенного выше вывода, у меня есть два сетевых интерфейса, а именно enp5s0 (встроенный адаптер проводной сети Ethernet) и wlp9s0 (адаптер беспроводной сети) на моей Linux-машине.
Также lo – это интерфейс loopback, который используется для локального доступа ко всем сетевым сервисам.
Он имеет IP-адрес 127.0.0.1.
Мы также можем использовать ту же команду ‘ifconfig’ во многих вариантах UNIX , например, во FreeBSD , для получения списка доступных сетевых карт.
2. Вывод списка сетевых интерфейсов с помощью команды ip
Команда ‘ifconfig’ устарела в последних версиях Linux.
Поэтому вы можете использовать команду ‘ip’ для отображения сетевых интерфейсов, как показано ниже.
$ ip link show
Пример вывода:
1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: enp5s0: mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether 24:b6:fd:37:8b:29 brd ff:ff:ff:ff:ff:ff 3: wlp9s0: mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000 link/ether c0:18:85:50:47:4f brd ff:ff:ff:ff:ff:ff
Вы также можете использовать следующие команды:
$ ip addr
$ ip -s link
Заметили ли вы, что эта команда также показывает состояние подключения сетевых интерфейсов?
Если вы внимательно посмотрите на приведенный выше вывод, вы заметите, что моя карта Ethernet не подключена сетевым кабелем (см. слово “DOWN” в приведенном выше выводе).
А беспроводная сетевая карта подключена (см. слово “UP”). Для получения более подробной информации ознакомьтесь с нашим предыдущим руководством по поиску подключенного состояния сетевых интерфейсов в Linux.
Этих двух команд ( ifconfig и ip ) достаточно, чтобы найти доступные сетевые карты в ваших системах Linux.
Однако в Linux существует несколько других способов составления списка сетевых интерфейсов.
3. Выводим список сетевых интерфейсов с помощью каталога /sys/class/net/
Ядро Linux сохраняет информацию о сетевых интерфейсах в каталоге /sys/class/net.
Вы можете проверить список доступных интерфейсов, заглянув в этот каталог.
$ ls /sys/class/net
Вывод:
enp5s0 lo virbr0 wlp9s0
4. Смотрим список сетевых интерфейсов с помощью файла /proc/net/dev
В операционных системах Linux файл /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: 2836 30 0 0 0 0 0 0 2836 30 0 0 0 0 0 0 enp5s0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 wlp9s0: 557664882 402062 0 0 0 0 0 0 20087136 165358 0 0 0 0 0 0 virbr0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
5. Строим список сетевых интерфейсов с помощью команды netstat
Команда netstat отображает различные детали, такие как сетевые соединения, таблицы маршрутизации, статистику интерфейсов, маскарадные соединения и многоадресные членства.
$ netstat -i
Вывод:
Kernel Interface table Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg enp5s0 1500 0 0 0 0 0 0 0 0 BMU lo 65536 30 0 0 0 30 0 0 0 LRU virbr0 1500 0 0 0 0 0 0 0 0 BMU wlp9s0 1500 402063 0 0 0 165361 0 0 0 BMRU
Пожалуйста, имейте в виду, что netstat устарел.
Заменой для “netstat -i” является “ip -s link”.
Также обратите внимание, что этот метод выведет список только активных интерфейсов, а не всех доступных интерфейсов.
6. Находим список сетевых интерфейсов с помощью команды nmcli
nmcli – это инструмент командной строки для управления NetworkManager и составления отчетов о состоянии сети.
Он используется для создания, отображения, редактирования, удаления, активации и деактивации сетевых соединений и отображения состояния сети.
Если у вас установлена система Linux с Network Manager, вы можете перечислить доступные сетевые интерфейсы с помощью инструмента nmcli, используя следующие команды:
$ nmcli device status
Вывод:
DEVICE TYPE STATE CONNECTION wlp9s0 wifi connected JioFi4_12E9FE virbr0 bridge connected (externally) virbr0 p2p-dev-wlp9s0 wifi-p2p disconnected -- enp5s0 ethernet unavailable -- lo loopback unmanaged --
Вы также можете использовать эту команду для отображения сетевых интерфейсов в вашей системе Linux:
$ nmcli connection show
Большинство вышеупомянутых утилит предустановлены в большинстве систем Linux и Unix.
Существует еще несколько внешних утилит для отображения списка сетевых карт.
7. Как показать список сетевых интерфейсов с помощью hwinfo
Hwinfo – это утилита командной строки для просмотра информации об аппаратном обеспечении в системе Linux.
Она проверяет наличие аппаратного обеспечения в системе Linux и отображает подробную информацию о каждом аппаратном устройстве.
Hwinfo доступна в официальных репозиториях многих дистрибутивов Linux.
Чтобы установить hwinfo в системах на базе RPM, выполните команду:
$ sudo dnf install hwinfo
На системах на базе Deb вы можете установить hwinfo с помощью следующей команды:
$ sudo apt install hwinfo
После установки выполните следующую команду, чтобы перечислить имена сетевых интерфейсов с помощью утилиты hwinfo:
$ sudo hwinfo --short --network
Вывод:
network interface: enp5s0 Ethernet network interface virbr0 Ethernet network interface wlp9s0 Ethernet network interface lo Loopback network interface
8. Как показать сетевые интерфейсы с помощью lshw
Lshw (Hardware Lister) – это утилита CLI, которая предоставляет подробную информацию об аппаратной конфигурации системы Linux.
Чтобы показать список сетевых карт в Linux с помощью утилиты lshw, выполните следующие действия:
$ sudo lshw -class network -short
Вывод:
H/W path Device Class Description =============================================================== /0/100/1c.1/0 enp5s0 network RTL810xE PCI Express Fast Ethernet controller /0/100/1c.3/0 wlp9s0 network AR9285 Wireless Network Adapter (PCI-Express)
9. Просмотр сетевых интерфейсов с помощью inxi
Inxi – это еще один инструмент для получения системной информации из командной строки, такой же, как hwinfo и lshw.
Он показывает аппаратное обеспечение системы, процессор, драйверы, Xorg, рабочий стол, ядро, версию(и) GCC, процессы, использование оперативной памяти и множество другой полезной информации.
Чтобы показать информацию о сетевых картах, включая производителя, драйвер карты и количество доступных сетевых интерфейсов в системе Linux, запустите inix с опцией -N:
$ inxi -N Network: Device-1: Realtek RTL810xE PCI Express Fast Ethernet driver: r8169 Device-2: Qualcomm Atheros AR9285 Wireless Network Adapter driver: ath9k
- Как найти скрытые каталоги, файлы и папки Linux / Unix
- Как найти все файлы, принадлежащие определенному пользователю в Unix / Linux
- Как найти все файлы с правами 777 на Linux
- Как найти текущий рабочий каталог процесса, используя Pwdx на Linux
10. Отображение сетевых интерфейсов с помощью команды lspci
Команда lspci выводит список всех PCI-устройств в системе Linux.
Чтобы просмотреть список доступных сетевых интерфейсов в системе Linux, используйте lspci с командой egrep, как показано ниже:
$ lspci | egrep -i 'network|ethernet|wireless|wi-fi'
Вывод:
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL810xE PCI Express Fast Ethernet controller (rev 05) 09:00.0 Network controller: Qualcomm Atheros AR9285 Wireless Network Adapter (PCI-Express) (rev 01)
Как вывести только имена доступных сетевых интерфейсов
До сих пор мы рассматривали различные методы поиска доступных сетевых интерфейсов в Linux.
Во всех вышеупомянутых методах мы отображали доступные сетевые интерфейсы вместе с некоторыми дополнительными деталями, такими как данные RX/TX, Mac-адрес, состояние подключения, режим, тип сети и некоторые другие.
Если вы хотите убрать ненужные детали и перечислить только название сетевых интерфейсов, вы можете использовать одну из следующих команд.
$ ifconfig -a | sed 's/[ \t].*//;/^$/d'
Вывод:
enp5s0: lo: virbr0: wlp9s0:
Чтобы исключить устройство loopback (lo) из вывода, выполните эту команду:
$ ifconfig -a | sed 's/[ \t].*//;/^\(lo\|\)$/d'
Как было сказано ранее, команда ifconfig устарела.
Если команда ifconfig недоступна, используйте команду ip для отображения только имен сетевых интерфейсов с флагом -o, как показано ниже:
$ ip -o link show | awk -F': ' '' lo enp5s0 wlp9s0 virbr0
Вы также можете использовать следующую команду:
$ ip addr show | awk '/^[1-9]/ '
Заключение
В этом руководстве мы рассмотрели десять различных методов поиска и вывода списка доступных сетевых интерфейсов в Linux и Unix
. Мы также рассмотрели несколько способов отображения только имени сетевых интерфейсов в системах Linux.
Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий Отменить ответ

Поддержать нас
- Аудит ИБ (49)
- Вакансии (12)
- Закрытие уязвимостей (110)
- Книги (27)
- Мануал (2 385)
- Медиа (66)
- Мероприятия (39)
- Мошенники (23)
- Обзоры (835)
- Обход запретов (34)
- Опросы (3)
- Скрипты (122)
- Статьи (366)
- Философия (133)
- Юмор (19)
Наш Telegram

Социальные сети
Поделиться
Anything in here will be replaced on browsers that support the canvas element
- Как проверить IPv4-адреса в скрипте 25.12.2023
Проверка IP-адресов – распространенная задача в сетевом и системном администрировании. В этом уроке мы узнаем, как проверить IPv4-адреса с помощью скрипта оболочки. Это особенно полезно в ситуациях, когда нужно убедиться, что пользовательский ввод или данные из другого источника имеют правильный формат IPv4. IPv4 против IPv6: В чем разница между IPv4 и IPv6 Понимание формата адресов […]
Deep Packet Inspection (DPI) – это передовая техника сетевой фильтрации. Если традиционные методы мониторинга и фильтрации сети позволяют лишь поверхностно изучить заголовки пакетов, то DPI проникает глубже, тщательно анализируя фактическое содержание данных в пакетах. Такая детальная проверка позволяет получить полное представление о потоке данных, что дает возможность определить не только тип или категорию данных, но […]
Обратный инжиниринг, термин, часто ассоциируемый с технологическими инновациями и решением проблем, включает в себя сложный процесс раскрытия дизайна, структуры или функциональности продукта, системы или части технологии, чтобы понять их внутреннюю работу. Эта многогранная дисциплина играет ключевую роль в различных отраслях промышленности, способствуя инновациям, обеспечивая совместимость и способствуя продвижению вперед. Сегодня обратный инжиниринг услуги выполняют одни из лучших […]
Компания “Автозайм”: надежное залоговое кредитование в СПб и по всей России “Автозайм” представляет собой современный автоломбард, который оперирует в различных городах России, включая Санкт-Петербург – https://spb.carzaem.ru/autolombard. Компания специализируется на предоставлении кредитов под залог автомобилей, предлагая клиентам удобные и прозрачные условия. Основные преимущества Быстрый и простой процесс. Процедура получения займа в “Автозайм” максимально упрощена. Клиенты могут подать […]
Мы рассмотрим подписание коммитов и тегов ключом GPG, а также отправку и получение открытых ключей GPG на сервер ключей для проверки. Шпаргалка Неподписанный коммит: Подписанный коммит: Если ваши адреса электронной почты git и gpg-ключа отличаются, это приведет к неудаче, пока вы не настроите свой git signingkey Неподписанный тег: Подписанный тег: Переопределение параметров конфигурации автоподписания: Импорт […]