Проверка сетевой карты linux

Обновлено: 04.07.2024

Бывают случаи, когда пропадает линк к серверу, который напрямую подключен к вашей локальной сети. Просмотр ARP-таблицы с другого устройства в этой сети (другого вашего сервера) поможет определить отвечает ли удалённый сервер хоть на какие-то запросы с вашего сервера. В случае проблем на этом уровне может означать следующее:

  1. удалённый сервер отключен от сети вообще;
  2. проблемы с кабелями;
  3. сетевой интерфейс на удалённом серве может быть отключен;
  4. на удалённом сервер работает фильтрация firewall-ом; как правило, в таком случае, вы можете увидеть его MAC-адрес, но нормального обмена данными не происходит.

Примеры того, как можно получить данные ARP-таблицы.

Проверка сайтов с помощью curl

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

Проверка сети с помощью netstat

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

Использование traceroute для проверки сети

Как работает traceroute?

Некоторые узлы отбрасывают пакеты от traceroute . В таком случае, с помощью опции -I можно использовать протокол ICMP:

Утилита MTR

Просмотр трафика с помощью tcpdump

  • неправильного роутинга пакетов;
  • проблем с интерфейсами, устройствами;
  • удалённый сервер не прослушивает указанынй порт (не запущен соответствующий сервис);
  • сетевое устройство на пути следования пакета блокирует передачу пакетов (файерволы, ACL и т.п.).

Поиск проблем в сети с помощью tshark

Опции и вид выдаваемой tshark информации очень схож с tcpdump , однако tshark имеет больше возможностей.

Например, tshark умеет записывать данные в файл, как и tcpdump , но при этом он умеет создавать новый файл для записи, когда предыдущий достигнет заданного размера. Кроме того, ему можно указать количество создаваемых файлов, после достиджения которого он начнёт перезаписывать первый созданный файл.

Использование утилиты nmap

В повседневные задачи системных администраторов входит работа с сетями и с подключённым к ним оборудованием. Нередко роль рабочего места администратора играет компьютер, на котором установлен какой-нибудь дистрибутив 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, предназначенных для системных администраторов. Надеемся, вам эти инструменты пригодятся.


Я использовал ОС Manjaro 18.0 в своем основном ноутбуке для повседневных целей, и большую часть времени я использую CLI для большей части своей деятельности, поэтому я хотел бы проверить детали Wi-Fi через командную строку.

Я сделал небольшой поиск в Google и нашел несколько статей об этом.

Теперь я собираюсь написать подробную статью об этом, чтобы помочь другим.

Для этого вы должны сначала определить имя интерфейса.

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

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

В Linux доступны следующие утилиты для проверки информации о беспроводной сетевой карте

Проверьте имя беспроводной сетевой карты с помощью команды lspci

По умолчанию отображается краткий список устройств.

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

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

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

Проверьте имя беспроводного интерфейса с помощью команды ip

Он показывает / манипулирует информацией о маршрутизации, сетевых устройствах, интерфейсах и туннелях.

Выполните следующую команду, чтобы проверить, активен ли интерфейс беспроводной сети. Да, это активно и работает нормально.

Обратите внимание, имя беспроводного интерфейса начинается с w, а проводной интерфейс начинается с e.

Проверьте информацию о точке беспроводного доступа с помощью команды nmcli

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

Запустите следующую команду, чтобы просмотреть доступные точки доступа Wi-Fi для вас.

Он покажет, какой Wi-Fi в данный момент подключен к вашей системе, а также покажет, какой беспроводной интерфейс подключен к нему.

Для просмотра скорости точки доступа, уровня сигнала и информации о безопасности.

Выполните следующую команду, чтобы увидеть подробную информацию о точке доступа «2g» Wi-Fi.

Выполните следующую команду, чтобы просмотреть сведения об интерфейсе wifi «wlp8s0».

Проверьте информацию о драйвере и прошивке беспроводного интерфейса с помощью команды ethtool

ethtool используется для запроса и управления драйверами сетевых устройств и настройками оборудования, особенно для проводных Ethernet-устройств.

Выполните следующие команды, чтобы узнать о драйвере ядра Wi-Fi, версии прошивки и информации о шине.

Проверьте информацию о силе сигнала WiFi, скорости передачи данных и качестве канала связи с помощью команды iwconfig

Iwconfig похож на ifconfig, но предназначен для беспроводных интерфейсов.

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

Iwconfig также может использоваться для отображения этих параметров и статистики беспроводной связи (извлекается из /proc/net/wireless).

Все эти параметры и статистика зависят от устройства.

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

Пожалуйста, обратитесь к справочной странице каждого устройства для деталей.

Проверьте подробную информацию о беспроводном интерфейсе с помощью команды iwlist

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

Проверьте информацию о беспроводном интерфейсе с помощью файла procfs

Проверьте информацию о беспроводном интерфейсе и точке доступа с помощью wavemon

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

Интерфейс wavemon разбивается на разные «экраны».

Каждый экран представляет информацию определенным образом.

Например, экран «информация» отображает текущие уровни в виде гистограмм, тогда как экран «уровень» представляет те же уровни, что и движущаяся гистограмма.

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

Это полноэкранный график гистограммы, показывающий эволюцию уровней со временем.

Проверьте информацию Wifi с помощью команды GNOME NetworkManager

Демон NetworkManager пытается сделать сетевую конфигурацию и работу максимально безболезненными и автоматическими, управляя основным сетевым подключением и другими сетевыми интерфейсами, такими как Ethernet, WiFi и мобильные широкополосные устройства.

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

Информация о сети экспортируется через интерфейс D-Bus в любое заинтересованное приложение, предоставляя богатый API для проверки и контроля сетевых настроек и работы.

тестируем сеть в убунту

Начнем.
1. Для начала нам нужно определить сетевое оборудование. Еще раз повторю, что в нашем случае имеется две сетевые карты.

Узнать сетевое оборудование можно командой:

В итоге я получил такой вывод команды:

eth0 Link encap:Ethernet HWaddr 10:bf:48:7e:3a:12
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

eth1 Link encap:Ethernet HWaddr 54:e6:fc:85:7f:76
inet addr:192.168.1.101 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::56e6:fcff:fe85:7f76/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:50872 errors:0 dropped:0 overruns:0 frame:0
TX packets:40181 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:53009700 (53.0 MB) TX bytes:6912325 (6.9 MB)

lo Link encap:Локальная петля (Loopback)
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:2674 errors:0 dropped:0 overruns:0 frame:0
TX packets:2674 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:292948 (292.9 KB) TX bytes:292948 (292.9 KB)

Из этой команды мы видим, что система видит наши обе сетевые карты (eth0 и eth1), а это значит, что физически они рабочие. Можно еще увидеть сетевое оборудование командой:

ip link show up

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
link/ether 10:bf:48:7e:3a:12 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 1000
link/ether 54:e6:fc:85:7f:76 brd ff:ff:ff:ff:ff:ff

2. Проверим работу оборудования с сетью утилитой ping. Это программа для проверки соединений в компьютерной сети. Она отправляет заданному узлу определенные пакеты и принимает ответы от него, позволяя косвенно определеить загруженность сети.

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

Вывод команды, который говорит о том, что пакеты проходят нормально:

PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.026 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.011 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.029 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.028 ms
64 bytes from 127.0.0.1: icmp_seq=5 ttl=64 time=0.032 ms
64 bytes from 127.0.0.1: icmp_seq=6 ttl=64 time=0.028 ms
64 bytes from 127.0.0.1: icmp_seq=7 ttl=64 time=0.033 ms
64 bytes from 127.0.0.1: icmp_seq=8 ttl=64 time=0.032 ms
64 bytes from 127.0.0.1: icmp_seq=9 ttl=64 time=0.031 ms

PING 192.168.1.101 (192.168.1.101) 56(84) bytes of data.
64 bytes from 192.168.1.101: icmp_seq=1 ttl=64 time=0.043 ms
64 bytes from 192.168.1.101: icmp_seq=2 ttl=64 time=0.038 ms
64 bytes from 192.168.1.101: icmp_seq=3 ttl=64 time=0.033 ms
64 bytes from 192.168.1.101: icmp_seq=4 ttl=64 time=0.035 ms
64 bytes from 192.168.1.101: icmp_seq=5 ttl=64 time=0.037 ms
64 bytes from 192.168.1.101: icmp_seq=6 ttl=64 time=0.036 ms
64 bytes from 192.168.1.101: icmp_seq=7 ttl=64 time=0.017 ms
64 bytes from 192.168.1.101: icmp_seq=8 ttl=64 time=0.034 ms
64 bytes from 192.168.1.101: icmp_seq=9 ttl=64 time=0.034 ms

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

или можно указать другой хост:

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