- Секреты Linux: проверяем загруженности сети в реальном времени
- Nload и iftop: проверяем загруженности сети из командной строки Linux
- тестирования сети в Линукс
- traceroute
- tcpdump
- ngrep
- mii-tool
- Как проверить информацию о беспроводной сетевой карте и WiFi из командной строки Linux
- В Linux доступны следующие утилиты для проверки информации о беспроводной сетевой карте
- Проверьте имя беспроводной сетевой карты с помощью команды lspci
- Проверьте имя беспроводного интерфейса с помощью команды ip
- Проверьте информацию о точке беспроводного доступа с помощью команды nmcli
- Проверьте информацию о драйвере и прошивке беспроводного интерфейса с помощью команды ethtool
- Проверьте информацию о силе сигнала WiFi, скорости передачи данных и качестве канала связи с помощью команды iwconfig
- Проверьте подробную информацию о беспроводном интерфейсе с помощью команды iwlist
- Проверьте информацию о беспроводном интерфейсе с помощью файла procfs
- Проверьте информацию о беспроводном интерфейсе и точке доступа с помощью wavemon
- Проверьте информацию Wifi с помощью команды GNOME NetworkManager
Секреты Linux: проверяем загруженности сети в реальном времени
Интернет медленно работает – виноваты вы или провайдер? Часто провайдеры пытаются списывать собственные косяки на конечных пользователей. Но, прежде чем начинать качать права, сперва убедимся что проблема не на нашей стороне.
Как правило, первая линия обороны техподдержки, в виде из девочек-роботов, проходится довольно легко — говоришь, что роутер и компьютер уже перезагружали и тебя переключают дальше. Если вы обнаружите проблемы со связью первыми из клиентов, то техподдержка провайдера пытается всеми силами убедить вас, что она на вашей стороне. Отчасти я с ними согласен, никогда нельзя сбрасывать со счетов вариант, что внутри локальной сети завёлся «насос», решивший скачать себе весь Интернет (все мы знаем таких любителей торрентов).
У многих современных роутеров имеется удобный графический мониторинг загруженности канала прямо в настройках.
Но как осуществить такую проверку, если раздачей Интернета занимается сервер на Linux или FreeBSD и к нему имеется только терминальный доступ без графической оболочки? На выручку придут консольные утилиты типа Nload или iftop.
Nload и iftop: проверяем загруженности сети из командной строки Linux
Данные инструменты позволяют в реальном времени узнать скорость входящего и исходящего трафика.
Nload — наверное самая простая в использовании программа, если вам нужно быстро взглянуть на общее использование полосы пропускания без подробностей отдельных процессов. Она весьма наглядная и не содержит множества опций. Пример использования nload:
Устанавливается также просто (выбирайте какой менеджер пакетов используется в вашем дистрибутиве Linux):
# yum install nload
# sudo apt-get install
Или установка из портов для FreeBSD:
# whereis nload
/usr/ports/net/nload/
# make install
Вторая утилита — iftop (Interface TOP). В отличие от nload, она измеряет данные, протекающие через отдельные соединения сокетов, используя библиотеку для захвата пакетов pcap. Данные сетевой активности обновляются в реальном времени.
iftop может фильтровать трафик и сообщать об использовании полосы пропускания по выбранным хост-соединениям. Подробнее о утилите и ключах запуска можно узнать из прилагаемой документации. Устанавливается аналогично nload.
Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.
Источник
тестирования сети в Линукс
Эта заметка выросла из шпаргалки для самого себя. Мне по работе приходится отлавливать баги в сети. Как проверить скорость в VPN-туннеле? Почему сервер не пингуется? Или пингуется, но не доступен. Кто забил весь канал торрентами? Где пропадают пакеты? Почтовый клиент выдает непонятную ошибку, что произошло на самом деле? Эти и многие другие вопросы периодически возникают у любого пользователя. Под катом описание программ входящих во все современные дистрибутивы, начиная от пинга и до таких экзотических как ngrep. А так же картинками, если картинками можно назвать, копии дампа с консоли.
# ping -n -i 0.2 -s 512 -I eth0 ya.ru
PING ya.ru (93.158.134.8) from 10.0.94.2 eth0: 512(540) bytes of data.
520 bytes from 93.158.134.8: icmp_seq=1 ttl=59 time=17.5 ms
520 bytes from 93.158.134.8: icmp_seq=2 ttl=59 time=15.0 ms
520 bytes from 93.158.134.8: icmp_seq=3 ttl=59 time=14.7 ms
3/3 packets, 0% loss, min/avg/ewma/max = 14.757/15.777/16.899/17.512 ms
520 bytes from 93.158.134.8: icmp_seq=4 ttl=59 time=14.7 ms
^C
Ключ -n означает, что надо выводить IP адреса вместо доменных имен, это полезно если пингуете по IP, тогда не будет тратится время на разрешение доменого имя, а еще, если DNS сервер не доступен это приведет к паузе в несколько секунд. Ключ -i задает интервал между отправкой пакетов, а -s размер пакета. Размер не может быть больше, чем MTU интерфейса. При помощи комбинации ключей -i и -s можно загрузить канал на любую ширину. -I задает имя интерфейса, через который будет отправлен пакет, полезно, если надо обойти таблицу маршрутизации. Чтобы вывести статистику, как я сделал я после третьего пакета, надо послать пингу сигнал SIGQUIT, с клавиатуры это делается Cntr+\
traceroute
#traceroute -N 16 -q 1 -A ya.ru
traceroute to ya.ru (77.88.21.8), 30 hops max, 60 byte packets
1 10.94.171.1 (10.94.171.1) [AS65534] 1.402 ms
2 1.32.108.213.hl.ru (213.108.32.1) [AS47333] 1.618 ms
3 94.122.dsl.westcall.net (195.177.122.94) [AS20485/AS25408] 2.859 ms
4 b0-152.mrouter.r.westcall.net (84.52.109.161) [AS25408] 3.021 ms
5 GW-Yandex.retn.net (87.245.250.102) [AS9002] 3.266 ms
6 aluminium-vlan901.yandex.net (77.88.56.111) [AS13238] 14.037 ms
7 gallium-vlan901.yandex.net (77.88.56.126) [AS13238] 16.517 ms
8 hummer-vlan2.yandex.net (87.250.228.136) [AS13238] 16.443 ms
9 ya.ru (77.88.21.8) [AS13238] 15.809 ms
traceroute показывает маршрут до удаленного хоста. По умолчанию он работает довольно медленно, так как опрашивает каждый роутер на пути пакета, по очереди и по три раза. Вы видите три времени ответа рядом с каждым хостом или три звездочки, если он не отвечает. Но traceroute можно ускорить. Ключ -N показывает сколько шагов пути пакета, они называются хопами, найти за 1 цикл, а -q количество запросов, которые будут отправлены к хосту. Ключ -A показывает номер автономной системы. Автономная система — блок IP сетей, выделенных одному оператору.
#mtr ya.ru
Приведет к такому экрану.
mtr это помесь пинга с трейсроутом. Наглядно видно, где проседает канал. В дебиан-образных дистрибутивах консольная версия ставится из пакета mtr-tiny
tcpdump
Иногда полезно глубже заглянуть, что же происходит в сети. Какие пакеты приходят и уходят. Например, чтобы удостовериться, что пакеты все таки уходят, а не блокируются фаерволом.
Вот что происходит при команде
В соседнем терминале запущен tcpdump
%sudo tcpdump -ni eth1 udp and port 53 and host 10.0.1.1
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes
13:09:39.038766 IP 10.94.171.10.41440 > 10.0.1.1.53: 24708+ A? ya.ru. (23)
13:09:39.040403 IP 10.0.1.1.53 > 10.94.171.10.41440: 24708 3/2/0 A 77.88.21.8,[|domain]
Расшифровываю вывод. С хоста 10.94.171.10 порт 41440 на 10.0.1.1 порт 53 пошел запрос А записи для адреса ya.ru. 53 порт это протокол DNS следующая строчка это ответ DNS сервера, по адресу 10.0.1.1
Не смотря на название, tcpdump знает множество сетевых протоколов. Ключ -i показывает какой интерфейс будем слушать, -n не запрашивать имена в DNS для IP адресов. Дальше в командной строке идет описание какие именно пакеты мы будем отлавливать. Здесь я не буду описывать команды фильтрации — их множество, остановлюсь только на возможностях. И так можно выбирать с какого и на какой хост идет пакет, с какого и на какой порт и даже диапазон портов. Можно группировать фильтры при помощи скобок и логических слов and, or, not. Выбирать протоколы icmp, arp, tcp, udp подробности в мане.
ngrep
#ngrep -W byline -d eth0 NOTIFY port 5060
interface: eth0 (213.108.32.94/255.255.255.255)
filter: (ip or ip6) and ( port 5060 )
match: NOTIFY
#
U 213.108.33.128:5060 -> 85.114.2.44:5060
NOTIFY sip:85.114.2.44 SIP/2.0.
Via: SIP/2.0/UDP 192.168.1.2:5060;branch=z9hG4bK-2c32804.
From: 8126221842 ;tag=4751f3b994a4aca8o0.
To: .
Call-ID: a85b76bd-dc9f6574@192.168.1.2.
CSeq: 22858 NOTIFY.
Max-Forwards: 70.
Event: keep-alive.
User-Agent: Linksys/PAP2T-5.1.6(LS).
Content-Length: 0.
Ключ -W byline форматирует вывод по знакам переноса строки внутри пакета. Это очень удобно для почтовых протоколов или SIP, как в примере. Строка фильтра пакетов формируется так же, как и в tcpdump. Если не указывать какую подстроку ищем, то ngrep будет дампить все подходящие по условую пакеты. Если внутри пакета нет текстовой информации, тогда он обозначается решеткой (#)
И несколько простых утилиток, про которые нужно знать, что они существуют.
Как узнать, через какую запись в таблице маршрутизации пойдет трафик на IP адрес.
# ip route get 10.94.171.10
10.94.171.10 dev eth1.173 src 10.94.171.1
cache mtu 1500 advmss 1460 hoplimit 64
Как посмотреть кто или что забивает канал?
Для этого есть утилита iptraf c интерфейсом основанным на ncurses. При запуске без параметров выводит меню.
Для того, чтобы посмотреть суммарную статистику по интерфейсу
iptraf -d eth0
Для статистики по соединениям
iptraf -i eth0
Например у вас есть VPN туннель. Как проверить его ширину? Самый простой способ это утилита iperf. На одном хосте запускаем ее с ключем -s это будет сервер, который повиснет по умолчанию на порт 5001. С другой стороны запускаем с единственным параметром — адресом нашего сервера.
mii-tool
# mii-tool eth0
eth0: negotiated 100baseTx-FD flow-control, link ok
Утилитка из пакета net-tools. Показывает скорость физлинка. При ее помощи можно выловить проблему, когда две сетевые карточки не могут автоматически договориться о скорости и в результате будет что-то типа 10 мбит полудуплекс. Редкая проблема, но до сих пор встречается.
За рамками обзора остались nmap и hping. Жду в камментах ссылки на другие полезные программы. Может имеет смысл перенести в какой-нибудь подходящий блог?
Источник
Как проверить информацию о беспроводной сетевой карте и WiFi из командной строки Linux
Я использовал ОС Manjaro 18.0 в своем основном ноутбуке для повседневных целей, и большую часть времени я использую CLI для большей части своей деятельности, поэтому я хотел бы проверить детали Wi-Fi через командную строку.
Я сделал небольшой поиск в Google и нашел несколько статей об этом.
Теперь я собираюсь написать подробную статью об этом, чтобы помочь другим.
Для этого вы должны сначала определить имя интерфейса.
Как только вы нашли имя интерфейса, вы можете использовать одну из приведенных ниже утилит для получения подробной информации о нем.
Большая часть утилиты позволяет отслеживать и просматривать уровни шума беспроводных сетей, скорость передачи данных, качество сигнала, уровень сигнала, статистику пакетов, конфигурацию устройства и параметры сети и т. д.
В Linux доступны следующие утилиты для проверки информации о беспроводной сетевой карте
- lspci: lspci – это утилита для отображения информации о шинах PCI в системе и подключенных к ней устройствах.
- IP: он показывает / манипулирует информацией о маршрутизации, сетевых устройствах, интерфейсах и туннелях.
- nmcli: nmcli – это инструмент командной строки для управления NetworkManager и создания отчетов о состоянии сети.
- ethtool: ethtool используется для запроса и управления драйверами сетевых устройств и настройками оборудования, особенно для проводных Ethernet-устройств.
- iwconfig: Iwconfig похож на ifconfig, но предназначен для беспроводных интерфейсов.
- iwlist: Iwlist используется для отображения некоторой дополнительной информации из интерфейса беспроводной сети, которая не отображается iwconfig.
- procfs: файловая система proc (procfs) – это специальная файловая система в Unix-подобных операционных системах, которая представляет информацию о процессах и другую системную информацию.
- wavemon: wavemon – это приложение мониторинга на основе ncurses для беспроводных сетевых устройств.
- GNOME NetworkManager: демон GNOME NetworkManager пытается настроить сеть для сетевых интерфейсов, таких как Ethernet, WiFi и мобильные широкополосные устройства.
Проверьте имя беспроводной сетевой карты с помощью команды lspci
lspci – это утилита для отображения информации о шинах PCI в системе и подключенных к ней устройствах.
По умолчанию отображается краткий список устройств.
Используйте параметры, описанные ниже, чтобы запросить более подробный вывод или вывод, предназначенный для анализа другими программами.
Выполните следующую команду, чтобы определить имя вашей беспроводной сетевой карты.
Используйте следующую команду, чтобы получить более подробную информацию о беспроводной карте.
Проверьте имя беспроводного интерфейса с помощью команды ip
Он показывает / манипулирует информацией о маршрутизации, сетевых устройствах, интерфейсах и туннелях.
Выполните следующую команду, чтобы проверить, активен ли интерфейс беспроводной сети. Да, это активно и работает нормально.
Обратите внимание, имя беспроводного интерфейса начинается с w, а проводной интерфейс начинается с e.
Проверьте информацию о точке беспроводного доступа с помощью команды nmcli
nmcli – это инструмент командной строки для управления NetworkManager и создания отчетов о состоянии сети.
Его можно использовать в качестве замены для 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
Файловая система proc (procfs) – это специальная файловая система в Unix-подобных операционных системах, которая представляет информацию о процессах и другую системную информацию.
Проверьте информацию о беспроводном интерфейсе и точке доступа с помощью wavemon
wavemon – это приложение мониторинга на основе ncurses для беспроводных сетевых устройств.
Он отображает уровни в режиме реального времени, а также показывает информацию об устройствах и беспроводных сетях.
Интерфейс wavemon разбивается на разные «экраны».
Каждый экран представляет информацию определенным образом.
Например, экран «информация» отображает текущие уровни в виде гистограмм, тогда как экран «уровень» представляет те же уровни, что и движущаяся гистограмма.
Этот экран позволяет изменить все параметры программы, такие как параметры интерфейса и шкалы уровня, а также сохранить новые настройки в файле конфигурации.
Это полноэкранный график гистограммы, показывающий эволюцию уровней со временем.
Проверьте информацию Wifi с помощью команды GNOME NetworkManager
Демон NetworkManager пытается сделать сетевую конфигурацию и работу максимально безболезненными и автоматическими, управляя основным сетевым подключением и другими сетевыми интерфейсами, такими как Ethernet, WiFi и мобильные широкополосные устройства.
NetworkManager подключит любое сетевое устройство, когда соединение для этого устройства станет доступным, если только это поведение не отключено.
Информация о сети экспортируется через интерфейс D-Bus в любое заинтересованное приложение, предоставляя богатый API для проверки и контроля сетевых настроек и работы.
Источник