Как узнать сетевую карту linux

Обновлено: 04.07.2024

Иногда нужно посмотреть сетевые карты в Linux, которые подключены к этому компьютеру, узнать имя продукта или технические характеристики карты, а также скорость ее передачи данных. Например, когда вы хотите проверить совместимость сетевого драйвера или модуля ядра с Ethernet адаптером необходимо знать его аппаратные спецификации, такие как: номер модели и производитель, (например: Broadcom NetXtreme, Intel I350), скорость (например: (1GB/s, 10GB/s), режим соединения (full/half duplex) и т д.

Также эта информация вам понадобится, если вы хотите подобрать драйвер для своего wifi адаптера. В этой инструкции я расскажу как узнать сетевую карту linux и посмотреть все доступные ее характеристики.

Информация о сетевой карте с помощью Ethtool

Если вас интересует информация о проводной сетевой карте Ehternet, то вы можете воспользоваться утилитой Ethtool. Это инструмент командной строки для проверки и изменения настроек PCI Ethernet карт. Для установки Ethtool в Ubuntu или Debian используйте команду:

sudo apt install ethtool

В других дистрибутивах установка производится аналогичным образом, только нужно использовать подходящий пакетный менеджер.

Для отображения настроек сетевой карты в ethtool запустите утилиту передав в параметрах имя сетевого адаптера. Права суперпользователя здесь нужны для того, чтобы утилита могла получить информацию о настройках локальной сети и статусе соединения.

sudo ethtool eth0


Здесь вы можете посмотреть поддерживаемые режимы работы Supported link modes, скорость Speed и тип коннектора Port, а также состояние подключения. Для просмотра информации о сетевом драйвере и прошивке используйте опцию i:

sudo ethtool -i eth0


Здесь вы можете видеть какие режимы поддерживает прошивка, а также ее версию. Если вас интересует MAC адрес выполните:

sudo ethtool -P eth0


Информация о сетевой карте в lshw

Для установки lshw на Ubuntu или Debian наберите:

sudo apt install lshw

Чтобы посмотреть узнать сетевую карту linux и просмотреть подробные сведения о ней, запустите утилиту со следующими параметрами:

sudo lshw -class network


Список сетевых карт в lspci

Если вам нужно узнать только продукт и имя производителя вашей сетевой карты можно использовать lspci. Обычно lscpi уже предустановлена в системе, но если нет ее можно установить командой:

sudo apt install pciutils

Теперь для просмотра доступных сетевых карт используйте:


Тут вы можете видеть, что к системе подключены две сетевые карты linux, для проводного интернета и беспроводная, обе от Broadcom.

Информация о сетевой карте с помощью ip

Утилита ip позволяет посмотреть более подробную информацию о сетевом протоколе для вашей карты. Для просмотра информации выполните:


Выводы

В этой статье мы рассмотрели несколько способов узнать сетевую карту Linux. Вы можете посмотреть не только производителя и название устройства, но и его характеристики, такие как скорость сетевой карты linux, используемый драйвер и MAC адрес. Если у вас остались вопросы, спрашивайте в комментариях!

Я хочу использовать eth0 драйвер, но моя сетевая карта НЕ ОБЯЗАНА.

Я использую гигабитный Ethernet-контроллер Killer e2200.

Скажите, пожалуйста, как установить сетевой драйвер и как его использовать eth0 .

3 ответа

Если у вас установлена ​​ОС и вы хотите использовать сетевую карту как новое оборудование, вам следует обратиться к поставщику за сетевыми драйверами. Обычно сетевые драйверы поставляются с исходным пакетом модулей ядра. Вы должны скомпилировать модуль драйвера для своего ядра.

установить утилиты «build essential»

распаковать исходный пакет в какую-нибудь папку

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

Новейшим сетевым устройствам обычно требуется время, чтобы проникнуть в ядро ​​Linux. Все драйверы обычно встроены в большие дистрибутивы, такие как Debian (или Ubuntu) и Centos.

Это может привести к чему-то вроде:

Я обрезал некоторые строки для краткости. Но имена модулей такие же, как и у каталога до Kconfig, так что вы можете проверить, активен ли он с помощью lsmod:

Иногда мои драйверы Intel для моего встроенного Wi-Fi умирают, тогда я должен удалить и снова добавьте его:

Тогда волшебным образом это снова работает. Мне все еще нужно внести это исправление в проект NetworkManager .

Если возвращается «alx», драйвер уже загружен:

Если нет, вам не повезло. Вы можете управлять интерфейсом с помощью команд «ifconfig» или «ip link»:

Более новые Linux больше не используют «eth» в качестве имен интерфейсов.

Итак, я нашел в дереве ядра слова «killer» и «e2200» и ничего не смог найти. Затем я выполнил поиск в Интернете и обнаружил, что это устройство Atheros, похожее на драйвер «alx». Кто-то обновил драйвер для работы с вашей картой, вам повезло. Если таких карт в мире достаточно, или он его расширил, все, что вам нужно сделать, это обновить Linux, и он будет работать.

Тип материала Установка и настройка

Идентификатор статьи 000005480

Последняя редакция 20.12.2019

Существует три базовых драйвера для Linux* для сетевых гигабитных адаптеров Intel®:

  • Драйверigb-x.x.x.tar.gz: поддерживает все сетевые гигабитные адаптеры 82575/6, 82580, I350, I354 и I210/I211.
  • Драйверe1000e-x.x.x.x.tar.gz: поддерживает сетевые гигабитные адаптеры Intel® PRO/1000 PCI-E (82563/6/7, 82571/2/3/4/7/8 или 82583) I217/I218/I219.
  • Драйверe1000-x.x.x.tar.gz: поддерживает сетевые гигабитные адаптеры семейств Intel® PRO/1000 PCI и PCI-X.

Далее выберите правильную версию для получения инструкций загрузки и установки.

Нажмите или название темы для получения информации:

Установка базового драйвера Linux* igb* для сетевого гигабитного Ethernet-адаптера Intel®

Драйвер Linux* igb поддерживает все гигабитные сетевые адаптеры Intel® 82575, 82576, 82580, I350, I354 и I210/I211.
Для получения информации о конфигурации драйвера см. файл Read Me в Центре загрузки.

Базовые драйверы для Linux поддерживают ядра 2.4.x, 2.6.x и 3.x. Эти драйверы поддерживают системы на базе процессора Intel® Itanium® 2.

Поддержка драйверов обеспечивается только в виде загружаемых модулей. Мы не предоставляем исправления исходных кодов ядра для обеспечения статической привязки драйверов. По вопросам, связанным с требованиями к аппаратным средствам, см. документацию, предоставленную с вашим сетевым гигабитным адаптером Intel. Все аппаратные требования относятся к операционной системе Linux.

В поддерживаемых ядрах доступны следующие функции:

  • Собственные VLAN
  • Объединение каналов (группирование)
  • SNMP

Документация по объединению каналов в ядре Linux доступна здесь: /documentation/networking/bonding.txt.

Драйвер igb поддерживает штампы времени IEEE 1588 для ядер 2.6.30 и выше. Для изучения общего руководства по этой технологии см. NIST.

Информация о драйвере, которая ранее содержалась в папке файловой системы /proc, более не поддерживается в этой редакции. Для получения этой же информации вы также можете использовать приложения ethtool (версия 1.6 или более новая), lspci и ifconfig.

Сборка и установка

Для выполнения следующих действий необходимы повышенные привилегии.

Предварительные требования

Платформы на базе Red Hat: CentOS, RHEL или Fedora

  • yum install gcc make
  • yum install kernel kernel-devel

Платформы на базе Ubuntu и Debian

  • apt-get install linux-headers-$(uname -r)
  • apt-get install gcc make

Возможно, вам потребуется выполнить общее обновление и перезапуск перед выполнением следующих действий.

Загрузите текущую версию пакета igb из Центра загрузки. Переместите файл tar базового драйвера в выбранный вами каталог/
Например, используйте /home/username/igb или /usr/local/src/igb.

Распакуйте (untar/unzip) архив, где — номер версии файла tar драйвера:

Перейдите в каталог src, где — номер версии файла tar драйвера:

Скомпилируйте модуль драйвера:

Двоичный файл будет установлен как:

Указанное выше местоположение установки используется по умолчанию. Оно может отличаться в различных версиях Linux.

Загрузите модуль с помощью команды insmod или modprobe:

modprobe igb insmod igb

Имейте в виду, что для ядер 2.6 можно использовать команду insmod, если указан полный путь к модулю драйвера. Например:

insmod /lib/modules/ /kernel/drivers/net/igb/igb.ko

Если вы используете ядра 2.6, также обязательно удалите из них старые версии драйверов igb перед загрузкой нового модуля:

rmmod igb; modprobe igb

Назначьте IP-адрес для интерфейса с помощью следующей команды, где — это номер интерфейса:

Убедитесь в работоспособности интерфейса. Введите следующее, где — IP-адрес другого компьютера в этой же подсети, что и проверяемый интерфейс:

Примечание

Некоторые системы могут иметь проблемы поддержки прерываний MSI и/или MSI-X. Если для вашей системы требуется отключить этот стиль прерываний, драйвер можно собрать и установить с помощью следующей команды:

make CFLAGS_EXTRA=-DDISABLE_PCI_MSI install

Обычно драйвер будет генерировать прерывание каждые две секунды. Если вы больше не получаете прерывания в каталоге cat/proc/interrupts для устройства ethX igb, то может быть необходимо это обходное решение.

Для сборки драйвера igb с DCA:

Если ваше ядро поддерживает DCA, драйвер будет создан по умолчанию с включением функции DCA.

Установка базового драйвера e1000e для Linux* для сетевого гигабитного Ethernet-адаптера

Драйвер e1000e для Linux* поддерживает гигабитные сетевые адаптеры PCI Express*, кроме моделей 82575, 82576, 82580, I350, I354 и I210/I211.
Для получения информации о конфигурации драйвера см. файл Read Me в Центре загрузки.

Базовые драйверы для Linux* поддерживают поколения ядер 2.4.x и 2.6.x. В них также доступна поддержка систем на базе процессоров Intel® Itanium® 2.

Поддержка драйверов обеспечивается только в виде загружаемых модулей. Мы не предоставляем исправления исходных кодов ядра для обеспечения статической привязки драйверов. По вопросам, связанным с требованиями к аппаратным средствам, см. документацию, предоставленную с вашим сетевым гигабитным адаптером Intel®. Все требования к аппаратным средствам применяются к использованию с ОС Linux.

Функции, которые теперь доступны в поддерживаемых ядрах:

  • Собственные VLAN
  • Объединение каналов (группирование)
  • SNMP

Документация по объединению каналов в ядре Linux доступна здесь: /documentation/networking/bonding.txt.

Эта версия не содержит информацию о драйвере, которая ранее находилась в папке файловой системы /proc. Для получения этой же информации вы также можете использовать приложения ethtool (версия 1.6 или более новая), lspci и ifconfig.

ПримечаниеАдаптеры Intel® 82562v 10/100 Network Connection обеспечивают поддержку только скоростей подключений 10/100.

Сборка и установка

Для выполнения следующих действий необходимы повышенные привилегии.

Предварительные требования

Платформы на базе Red Hat: CentOS, RHEL или Fedora

  • yum install gcc make
  • yum install kernel kernel-devel

Платформы на базе Ubuntu и Debian

  • apt-get install linux-headers-$(uname -r)
  • apt-get install gcc make

Возможно, вам потребуется выполнить общее обновление и перезапуск перед выполнением следующих действий.

Загрузите текущую версию пакета e1000e из Центра загрузки. Переместите файл tar базового драйвера в выбранный вами каталог/
Например, используйте /home/ /e1000e или /usr/local/src/e1000e.

Распакуйте (untar/unzip) архив, где — номер версии файла tar драйвера:

tar zxf e1000e- .tar.gz

Перейдите в каталог src, где — номер версии файла tar драйвера:

Скомпилируйте модуль драйвера:

Установка двоичного файла:

Указанное выше местоположение установки выбрано по умолчанию. Местоположение может отличаться в различных версиях Linux.

Загрузите модуль с помощью команды insmod или modprobe:

modprobe e1000e; insmod e1000e

ПримечаниеДля ядер 2.6 можно использовать команду insmod, если указать весь путь к модулю драйверов. Например:

insmod /lib/modules/ /kernel/drivers/net/e1000e/e1000e.ko

Если вы используете ядра 2.6, обязательно удалите из них старые версии драйверов e1000e перед загрузкой нового модуля:

rmmod e1000e; modprobe e1000e

Назначьте IP-адрес для интерфейса с помощью следующей команды, где — это номер интерфейса:

Убедитесь в работоспособности интерфейса. Введите следующее, где — IP-адрес другого компьютера в этой же подсети, где находится проверяемый интерфейс:

Примечание

Некоторые системы могут иметь проблемы поддержки прерываний MSI и/или MSI-X. Если в вашей системе данный стиль прерываний должен быть выключен, выполните сборку и установку драйвера с помощью следующей команды:

make CFLAGS_EXTRA=-DDISABLE_PCI_MSI install

Обычно драйвер генерирует прерывание каждые две секунды. Если вы больше не наблюдаете прерываний после выполнения команды cat /proc/interrupts для устройства ethX e1000e, тогда это временное решение может быть необходимо.

Установка базового драйвера e1000 для Linux* для сетевого гигабитного адаптера Intel® PCI, PCI-X

Драйвер e1000 Linux * поддерживает устаревшие сетевые гигабитные адаптеры (PCI, PCI-X*).
Для получения информации о конфигурации драйвера см. файл Read Me в Центре загрузки.

ПримечаниеДрайвер e1000 более не обслуживается в качестве автономного компонента. Запросите поддержку у стороны, обслуживающей ваш дистрибутив Linux*.

Базовые драйверы для Linux поддерживают ядра поколений 2.4.x и 2.6.x. Эти драйверы имеют поддержку систем на базе процессоров Intel® Itanium® 2.

Поддержка драйверов обеспечивается только в виде загружаемых модулей. Мы не предоставляем исправления исходных кодов ядра для обеспечения статической привязки драйверов. По вопросам, связанным с требованиями к аппаратным средствам, см. документацию, предоставленную с вашим сетевым гигабитным адаптером Intel®. Все аппаратные требования относятся к операционной системе Linux.

В поддерживаемых ядрах теперь доступны следующие функции:

  • Собственные VLAN
  • Объединение каналов (группирование)
  • SNMP

Документация для объединения каналов находится в исходном коде ядра Linux: /documentation/networking/bonding.txt

Информация о драйвере, которая ранее содержалась в папке файловой системы /proc, более не поддерживается в этой редакции. Иначе для получения этой же информации вы также можете использовать приложения ethtool (версия 1.6 или более новая), lspci и ifconfig.

ПримечаниеАдаптеры Intel® 82562V Fast Ethernet PHY 10/100 Network Connection обеспечивают поддержку только скоростей подключений 10/100.

Сборка и установка

Для выполнения следующих действий необходимы повышенные привилегии.

Предварительные требования

Платформы на базе Red Hat: CentOS, RHEL или Fedora

  • yum install gcc make
  • yum install kernel kernel-devel

Платформы на базе Ubuntu и Debian

  • apt-get install linux-headers-$(uname -r)
  • apt-get install gcc make

Возможно, вам потребуется выполнить общее обновление и перезапуск перед выполнением следующих действий.

Загрузите текущую версию пакета e1000 из Центра загрузки. Переместите файл tar базового драйвера в выбранный вами каталог/
Например, используйте /home/username/e1000 или /usr/local/src/e1000.

Распакуйте (untar/unzip) архив, где — номер версии файла tar драйвера:

tar zxf e1000- .tar.gz

Перейдите в каталог src, где — номер версии файла tar драйвера:

Скомпилируйте модуль драйвера:

Установка двоичного файла:

Указанное выше местоположение установки используется по умолчанию. Оно может отличаться в различных версиях Linux.

Загрузите модуль с помощью команды insmod или modprobe:

modprobe e1000 insmod e1000

ПримечаниеДля ядер 2.6 можно использовать команду insmod, если указать полный путь к модулю драйвера. Например:

insmod /lib/modules/ /kernel/drivers/net/e1000/e1000.ko

Если вы используете ядра 2.6, обязательно удалите из них старые версии драйверов e1000 перед загрузкой нового модуля:

rmmod e1000; modprobe e1000

Назначьте IP-адрес для интерфейса с помощью следующей команды, где — это номер интерфейса:

Убедитесь в работоспособности интерфейса. Введите следующее, где — IP-адрес другого компьютера в этой же подсети, что и проверяемый интерфейс:


Конечно, вы можете настроить сетевые интерфейсы во время установки.

Но некоторые из вас могут предпочесть сделать это после установки или изменить существующие настройки.

Как вы уже знаете, вы должны сначала узнать, сколько интерфейсов доступно в системе, чтобы настроить параметры сети из командной строки.

В этом кратком руководстве рассматриваются все возможные способы поиска доступных сетевых интерфейсов в операционных системах Linux и Unix.

Найти доступные сетевые интерфейсы в Linux

Мы можем найти доступные сетевые карты несколькими способами.

Способ 1. Использование команды ifconfig:

Я полагаю, что некоторые пользователи Linux все еще могут использовать это.

Как вы видите в приведенном выше выводе, у меня есть два сетевых интерфейса, а именно enp5s0 (на плате проводного адаптера Ethernet) и wlp9s0 (адаптер беспроводной сети) на моем компьютере с Linux.

Он имеет IP-адрес 127.0.0.1.

Мы также можем использовать одну и ту же команду ifconfig во многих вариантах UNIX, например, FreeBSD, для просмотра списка доступных сетевых карт.

Способ 2. Использование команды «ip»:

Команда ifconfig устарела в последних версиях Linux.

Таким образом, вы можете использовать команду «ip» для отображения сетевых интерфейсов, как показано ниже.

Вы также можете использовать следующие команды.

Вы заметили, что эти команды также показывают состояние подключения сетевых интерфейсов?

Если вы внимательно посмотрите на вышеприведенный вывод, вы заметите, что моя карта Ethernet не подключена с помощью сетевого кабеля (см. Слово «DOWN» в вышеприведенном выводе).

И беспроводная сетевая карта подключена (см. Слово «UP»).

Для получения более подробной информации обратитесь к нашему предыдущему руководству, чтобы найти состояние подключения сетевых интерфейсов в Linux:

Этих двух команд (ifconfig и ip) достаточно, чтобы найти доступные сетевые карты в ваших системах Linux.

Тем не менее, есть немного других доступных методов для перечисления сетевых интерфейсов в Linux.

Способ 3:

Ядро Linux сохраняет данные о сетевом интерфейсе в каталоге /sys/class/net.

Вы можете проверить список доступных интерфейсов, заглянув в этот каталог.

Способ 4:

В операционных системах Linux файл /proc/net/dev содержит статистику о сетевых интерфейсах.

Чтобы просмотреть доступные сетевые карты, просто просмотрите его содержимое с помощью команды:

Способ 5: использование команды «netstat»

Команда netstat отображает различные сведения, такие как сетевые подключения, таблицы маршрутизации, статистику интерфейса, маскарадные подключения и мультикаст.

Пожалуйста, помните, что netstat устарел.

Также обратите внимание, что этот метод будет перечислять только активные интерфейсы, а не все доступные интерфейсы.

Способ 6: использование команды «nmcli»

Он используется для создания, отображения, редактирования, удаления, активации и деактивации сетевых подключений и отображения состояния сети.

Если у вас установлена система Linux с установленным Network Manager, вы можете получить список доступных сетевых интерфейсов с помощью инструмента nmcli, используя следующие команды:

Теперь вы знаете, как найти доступные сетевые интерфейсы в Linux.

Далее, проверьте следующие руководства, чтобы узнать, как настроить IP-адрес в Linux.

В повседневные задачи системных администраторов входит работа с сетями и с подключённым к ним оборудованием. Нередко роль рабочего места администратора играет компьютер, на котором установлен какой-нибудь дистрибутив Linux. Утилиты и команды Linux, о которых пойдёт речь в материале, перевод которого мы публикуем сегодня, включают в себя список инструментов различной сложности — от простых, до продвинутых, которые предназначены для решения широкого спектра задач по управлению сетями и по диагностике сетевых неполадок.


Утилита ping , как можно судить по её названию, используется для проверки связи между узлами сети, между компьютером, на котором её запускают, и другой системой. Эта утилита использует протокол ICMP, отправляя эхо-запросы, на которые отвечает удалённая система, получающая их. Использование ping , кроме того — это хороший способ проверки связности сети, проводимой в качестве первого шага диагностики сети при наличии неполадок. Команду ping можно использовать с адресами IPv4 и IPv6. Тут можно почитать подробности об IP-адресах и о работе с ними.

▍Примеры

Ping, кроме того, можно использовать для выяснения IP-адресов сайтов на основе их имён. Вот как это выглядит.



Использование ping для выяснения IP-адреса сайта по его имени

Traceroute

Traceroute — это приятная утилита, которая позволяет исследовать маршруты передачи данных между компьютерами. В то время как команда ping направлена на то, чтобы выяснить, можно ли установить связь между двумя узлами сети, traceroute даёт сведения об IP-адресах маршрутизаторов, через которые проходят данные от вашей системы до конечной, например — до веб-сайта или сервера. Команда traceroute обычно применяется на втором шаге диагностики сети, после команды ping .

▍Пример

Telnet

Утилита telnet позволяет связаться с удалённым компьютером по протоколу Telnet и взаимодействовать с ним, используя соответствующие команды.

▍Пример

Для организации сеанса Telnet-связи с другим компьютером используется следующая команда:

Netstat

Эта команда позволяет собирать сведения о сети и используется в ходе поиска и исправления сетевых неполадок, применяется для проверки данных о работе интерфейсов и портов, для исследования таблиц маршрутизации, для изучения информации о работе протоколов. Эта команда непременно должна присутствовать в арсенале системного администратора.

▍Примеры

Для того чтобы получить список всех портов, находящихся в режиме прослушивания, воспользуйтесь такой командой:


Следующая команда выводит сведения обо всех портах. Для того чтобы ограничиться только TCP-портами, нужно воспользоваться ключом -at , для того, чтобы получить данные об UDP-портах, используйте ключ -au .


Для просмотра таблиц маршрутизации воспользуйтесь такой командой:


Вот как выглядит результат выполнения этой команды.



Сведения о таблице маршрутизации

Вот вариант этой команды, выводящий статистику по протоколам:




Статистика по протоколам

Следующий вариант вызова netstat позволяет узнать сведения об отправленных и полученных пакетах (transmission/receive, TX/RX) по каждому интерфейсу:



Данные об отправленных и полученных пакетах

Nmcli

Утилита nmcli отлично подходит для управления сетевыми соединениями, для выполнения настроек и для решения других подобных задач. С её помощью можно управлять программой NetworkManager и модифицировать сетевые параметры различных устройств.

▍Примеры

Вот как с помощью nmcli вывести список сетевых интерфейсов:


Так можно вывести информацию по конкретному интерфейсу:


Следующий вариант вызова команды позволяет проверить подключение устройства к сети:




Примеры использования nmcli

Эта команда позволяет отключить заданный интерфейс:


А эта позволяет включить интерфейс:


Вот пример команды, которая добавляет VLAN-интерфейс с заданным VLAN-номером, IP-адресом и шлюзом к указанному интерфейсу:

Маршрутизация

Существует множество команд, которые можно использовать для проверки правил маршрутизации и их настройки. Рассмотрим самые полезные из них.

▍Примеры

Следующая команда показывает все текущие маршруты, настроенные для соответствующих интерфейсов:




Маршруты, настроенные для интерфейсов

Эта команда позволяет добавить в таблицу маршрутизации шлюз, используемый по умолчанию:


Следующая команда добавляет в таблицу маршрутизации новый сетевой маршрут. Существует и множество других её параметров, позволяющих выполнять такие операции, как добавление маршрута и шлюза, используемых по умолчанию, и так далее.


С помощью такой команды можно удалить запись о заданном маршруте из таблицы маршрутизации:


Вот примеры использования команды route .



Использование команды route

Вот команда, которая применяется для вывода текущей таблицы соседей. Кроме того, её можно использовать для добавления, изменения или удаления сведений о соседях:


Взглянем на примеры её использования.



Данные, полученные с помощью команды ip neighbor

Вот сведения о команде ip neigh



Сведения о команде ip neigh

Команда arp (ARP — это сокращение от Address Resolution Protocol, протокол определения адреса) похожа на ip neighbor . Утилита arp выводит данные о соответствии IP-адресов MAC -адресам. Вот как её использовать:


Вот пример её вызова.



Вызов команды arp

Tcpdump и Wireshark

Linux даёт в распоряжение администратора множество инструментов для захвата и анализа пакетов. Среди них, например, tcpdump , wireshark , tshark , и другие. Они используются для захвата сетевого трафика в передаваемых системой пакетах или в пакетах, получаемых ей. Это делает их весьма ценным инструментом администратора, помогающим в деле выяснения причин различных сетевых неполадок. Тем, кто предпочитает командную строку всем остальным способам общения с компьютерами, понравится tcpdump . Тем же, кто любит графические интерфейсы, можно порекомендовать wireshark — отличный инструмент для захвата и анализа пакетов. Утилита tcpdump — это встроенное в Linux средство для захвата сетевого трафика. Его можно использовать для захвата и вывода трафика с фильтрацией по портам, протоколам, и по другим признакам.

▍Примеры

Такая команда показывает, в режиме реального времени, пакеты с заданного интерфейса:


Пакеты можно сохранять в файл, воспользовавшись флагом -w и задав имя файла:


Вот пример использования tcpdump .



Использование tcpdump

Следующий вариант команды используется для захвата пакетов, приходящих с заданного IP системы-источника:


Так можно захватить пакеты, идущие на заданный адрес системы-приёмника:


Вот пример использования tcpdump для захвата пакетов для заданного номера порта, например, это может быть порт 53, 80, 8080, и так далее:


Здесь показано, как с помощью tcpdump захватывать пакеты заданного протокола, вроде TCP, UDP или других:

Iptables

Утилита iptables похожа на файрвол, она поддерживает фильтрацию пакетов, что позволяет управлять трафиком, пропуская или блокируя его. Диапазон возможностей этой утилиты огромен. Рассмотрим несколько наиболее распространённых вариантов её использования.

▍Примеры

Следующая команда позволяет вывести все существующие правила iptables :


Эта команда удаляет все существующие правила:


Следующие команды разрешают прохождение трафика с заданного номера порта к заданному интерфейсу:


Следующие команды разрешают loopback-доступ к системе:

Nslookup

Инструмент nslookup используется для получения сведений о назначении IP-адресов сетевым ресурсам. Его можно использовать и для получения сведений с DNS-серверов, например таких, как все DNS-записи для некоего веб-сайта (ниже мы рассмотрим соответствующий пример). На nslookup похожа утилита dig (Domain Information Groper).

▍Примеры

Следующая команда выводит IP-адреса вашего DNS-сервера в поле Server, и, ниже, выдаёт IP-адрес искомого сайта:


Такая команда показывает все доступные записи для заданного веб-сайта или домена:

Поиск неполадок

Вот набор команд и список важных файлов, используемых для идентификации сетевых неполадок.

▍Примеры

  • ss — утилита для вывода статистической информации о сокетах.
  • nmap <ip-address> — имя этой команды является сокращением от Network Mapper. Она сканирует сетевые порты, обнаруживает хосты, выясняет MAC-адреса и выполняет множество других задач.
  • ip addr/ifconfig -a — эта команда предоставляет сведения об IP-адресах и другие данные по всем интерфейсам системы.
  • ssh -vvv user@<ip/domain> — такая команда позволяет подключиться по SSH к другому компьютеру, используя заданный IP-адрес или доменное имя компьютера и имя пользователя. Флаг -vvv позволяет получать подробные сведения о происходящем.
  • ethtool -S <interface> — данная команда позволяет вывести статистические сведения по заданному интерфейсу.
  • ifup <interface> — эта команда включает указанный интерфейс.
  • ifdown <interface> — эта команда отключает указанный интерфейс.
  • systemctl restart network — с помощью этой команды можно перезагрузить системную сетевую подсистему.
  • /etc/sysconfig/network-scripts/<interface-name> — это — файл настройки интерфейсов, используемый для указания IP-адреса, сети, шлюза и других параметров для заданного интерфейса. Здесь можно задать использование интерфейсом DHCP-режима.
  • /etc/hosts — данный файл содержит сведения о соответствии хостов или доменов IP-адресам, настроенные администратором.
  • /etc/resolv.conf — в этом файле хранятся настройки DNS.
  • /etc/ntp.conf — этот файл хранит настройки NTP.

Итоги

В этой небольшой шпаргалке мы рассказали о сетевых инструментах Linux, предназначенных для системных администраторов. Надеемся, вам эти инструменты пригодятся.


Сеть является неотъемлемой частью Linux и предлагает множество инструментов и команд для диагностики любой сетевой проблемы.

Сетевые команды в примерах в Linux

Примеры использования сетевых команд в Linux

Давайте посмотрим некоторые примеры различных сетевых команд в Linux. Некоторые из них довольно элементарные например пинг и телнет, а некоторые являются более мощными, например Nslookup и NetStat. Когда вы использовали эти команды в комбинации вы можете получить все, что вы ищете , например, имя хоста , конечные соединения точек , состояние соединения и т.д.

Имя хоста (hostname) без вариантов отображает хозяина машины. По этому чтобы проверить кто владелец выполните команду:

Он посылает пакеты информации в определенный пользователем источник. Если будут получены пакеты , устройство назначает и посылает пакеты обратно . Ping можно использовать для двух целей

1 . Чтобы гарантировать, что сетевое соединение может быть установлено.

Можно задать время перед отправкой пакета, например подождать 3 секунды перед отправкой следующего пакета.

Чтобы проверить локальный интерфейс существует несколько способов:

Можно так же посылать N количество пакетов и после чего завершить работу, для этого:

Так же можно узнать версию самого пинга, для этого выполните команду:

Вы запустили утилиту пинг, а ответа от вашего хоста вовсе нет, вы начинаете выяснять в чем же дело, и как решите эту проблему то удаленный хост выдаст звуковое предупреждение.

Можно изменить размер передаваемого пакета (допустим с 56 на 120), а сделать это можно так:

Мы так же можем изменять длительность выполнение команды пинг, например нам нужно пинговать сервис 15 секунд, то для этого выполните:

Не прервав команду пинг, вы сможете увидеть статистику выполнения, нужно нажать CTRL + |

Ifconfig

Посмотреть конфигурацию сети , он отображает текущую конфигурацию сетевого адаптера . Это удобно, чтобы определить, если вы transmit (ТХ ) или receive (RX) ошибки.

ifconfig

traceroute

Удобная программа для просмотра количества количество прыжков и время отклика , чтобы добраться до удаленной системы или веб-сайта. Но вам нужно подключение к интернету , чтобы использовать этот инструмент. Но ее возможно будет Вам установить, чтобы воспользоватся.

Можно вывести информацию о всех сетевых картах что подключены, для этого выполните:

netstat

Самая полезная и очень универсальная для нахождения подключений к и от хозяина. Вы можете узнать все о многоадресной группы (multicast groups) сети выполнив:

Чтобы увидеть все соединения в том числе TCP и UDP выполните команду:

Параметр что выполнена программа будет отображать только соединение TCP:

Параметр что выполнена программа будет отображать только соединение UDP:

nslookup

Если вы знаете IP-адрес он будет отображать как имя хоста. Чтобы найти все IP-адреса для данного доменного имени, команда Nslookup используется. Вы должны быть подключение к Интернету для этой утилиты. Пример использования:

Вы также можете использовать Nslookup преобразовать имя хоста в IP-адрес и с IP-адреса из имени хоста.

finger

Посмотреть информацию о пользователях, отображает имя пользователя логин, настоящее имя, имя терминала и статус записи. это довольно старая команда для Linux и редко используемые в настоящее время.

telnet

Подключается хозяина назначения по протоколу Telnet, если телнет соединение установить на любом порту означает соединения между двумя хостами работает нормально.

Обычно он используется для того чтобы узнать жив ли хост ​​или сетевое соединение в порядке.

Читайте также: