Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Тематический каталог -> Linux как клиент локальной сети

5 инструментов для мониторинга сети в Linux

Оригинал: 5 Linux Network Monitoring Tools
Автор: Paul Ferrill
Дата публикации: 4 ноября 2010 г.
Перевод: Д.Оводов
Дата перевода: январь 2010 г.

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

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

Старый добрый Ping

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

ifconfig

Первая и важнейшая команда - ifconfig. Выполнение этой команды отобразит информацию о всех известных системе сетевых устройствах. На примере выше вы видите eth0 и lo. Первое соответствует сетевой карте Ethernet (с назначенным адресом 192.168.0.2), второе же - так называемая локальная петля или loopback-соединение. Данная команда также показывает MAC-адрес устройства (HWaddr) и статистику трафика. Эта команда должна быть первой, если у вас возникли проблемы с сетью, чтобы посмотреть, насколько верен IP-адрес и учитывается ли трафик или ошибки передачи данных.

ping

Команда ping - вторая используемая после ifconfig для того, чтобы понять, имеет ли ваш компьютер связь с внешним миром. Выполнение запроса ping в направлении любого известного вам сетевого адреса (например, 4.2.2.1) моментально покажет, соединены вы с сетью или нет. Также оно покажет время выполнения запроса. Обычно время выполнения при типе соединения DSL должно быть около 50 миллисекунд.

После этих двух команд можно попробовать выполнить команду route. Она отобразит список IP адресов, включающий конечный адрес (Destination) и адрес шлюза (Gateway), назначенных одному из устройств, а также дополнительную информацию, например, колонку Flags. В этой колонке будет написана буква G в строке, связанной со шлюзом по умолчанию. Вы можете использовать этот адрес в команде ping, чтобы установить, соединен ли ваш компьютер со шлюзом.

EtherApe

EtherApe

EtherApe может быть установлена из Центра приложений Ubuntu. Данная программа использует библиотеки GNOME и libpcap для отображения визуальной карты всего сетевого трафика, проходящего через выбранный интерфейс. После установки значок EtherApe появится в меню Приложения / Система. Однако, когда мы ее запустили таким образом, мы не смогли открыть ни одного сетевого устройства, поскольку для этого необходимы права суперпользователя. Поэтому мы запустили EtherApe из командной строки, используя sudo:

$ sudo etherape

Когда вы запустили программу, она должна начать строить графическое отображение трафика, проходящего через основной Ethernet-интерфейс. Вы можете выбрать другое устройство, если ваш компьютер имеет несколько сетевых карт, через меню Capture / Interfaces. EtherApe также может отображать данные из сохраненного pcap-файла и отображать трафик определенного протокола.

Nmap

Nmap - широко используемый сетевой сканер, предназначенный для использования в целях безопасности, впервые выпущенный в 1997 году. Он использует множество специальных пакетов для проверки сети с самыми различными целями, включая создание карты IP адресов, определения установленной на удаленном компьютере операционной системы и выяснения диапазона портов по указанному IP-адресу. Одна из основных функций - так называемый ping sweep, то есть серия ping-запросов с целью выяснения, с какими адресами компьютеры соединены с сетью. Делается это следующим образом:

$ nmap -sP 192.168.0.1-255

Также существует ряд графических приложений, доступных в Центре приложений Ubuntu, которые используют nmap как основу и отображают результаты в более "дружелюбном" режиме. Примеры таких приложений - NmapSI4, использующий интерфейс Qt4, и Zenmap.

Tcpdump

Захват сетевого трафика для его дальнейшего анализа - первостепенная функция tcpdump. Захват пакета осуществляется посредством libpcap, а уже конечное отображение и анализ совершается tcpdump. Необработанная информация Ethernet-пакетов записывается в файл pcap для дальнейшего их исследования. Этот же формат используется и другими инструментами анализа пакетов, такими как, например, Wireshark.

Команда запуска tcpdump для захвата базового трафика может быть следующей:

$ sudo tcpdump nS

Команда sudo необходима для получения доступа к основному Ethernet-устройству. Данная команда отобразит основную информацию, включающую время, адрес отправления и адрес назначения, а также тип пакета. Tcpdump будет продолжать работать и отображать информацию в терминале до тех пор, пока вы не нажмете Ctrl-C. Tcpdump - самый лучший и быстрый спосою записи сетевого трафика в файл. Команда для этой цели может быть следующей:

$ sudo tcpdump s w pktfile.pcap

Wireshark

Главное окно Wireshark

Wireshark, ранее известный как Ethereal, стал выбором многих, если не большинства, профессионалов в области сетевого администрирования. (Пользователи Ubuntu 10.04 найдут Wireshark в Центре приложений Ubuntu в разделе "Интернет".) Как это было и с другими инструментами, мы запустили Wireshark из командной строки, используя sudo, чтобы увидеть доступные Ethernet-устройства. После запуска слева в главном окне можно будет увидеть список доступных интерфейсов. После выбора необходимого физического или виртуального устройства, вы попадете на страницу, где будут отображаться сетевые пакеты.

Захват пакетов при помощи Wireshark

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

Заключение

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


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