Переход к предыдущей публикации Выделение квот во FreeBSD Правила Переход к следущей публикации

Мониторинг сетевого трафика утилитой trafshow

Понедельник, 11 февраля, 2008 06:12:22 EET

Исправления от 23 марта, 2009 11:55:04

Мониторинг трафика утилитой trafshow Существует класс программ, которые предназначены для “прослушивания” сетевого трафика - сетевые анализаторы. Такие программы предназначены в основном для того, чтобы осуществлять мониторинг и выявлять неполадки, возникающие в сетях. Типичный представитель подобного ПО во FreeBSD - tcpdump, который пожалуй, уже стал стандартом и многие программисты, при написании своего софта для анализа трафика, используют формат вывода информации “a-ля тисипидамп“.

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

$ tcpdump
tcpdump: no suitable device found

Хотя на самом деле, необходимые устройства в системе сразу же обнаружатся, если эту команду запустит пользователь root:

# tcpdump -n -i rl0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on rl0, link-type EN10MB (Ethernet), capture size 96 bytes

В портах FreeBSD имеется очень удобная утилита, в основе которой положен принцип работы tcpdump и которая занимается тем, что выводит ТОП (по скоростям) открытых соединений на интерфейсе. Называется она trafshow.

# cd /usr/ports/
# make search name="trafshow"
Port:   trafshow-5.2.3,1
Path:   /usr/ports/net/trafshow
Info:   Full screen visualization of network traffic
Maint:  jylefort@FreeBSD.org
B-deps:
R-deps:
WWW:    http://soft.risp.ru/trafshow/index_en.shtml

Port:   trafshow-3.1_6,1
Path:   /usr/ports/net/trafshow3
Info:   Full screen visualization of network traffic
(an ancient version)
Maint:  sem@FreeBSD.org
B-deps:
R-deps:
WWW:    http://soft.risp.ru/trafshow/index_en.shtml

Port:   net/trafshow4
Moved:  net/trafshow
Date:   2005-11-05
Reason: obsolete version, use net/trafshow instead

# cd /usr/ports/net/trafshow
# make install clean

Версия 3.1_6,1 помечена как “древняя”. Ну и ладно, древняя значит древняя. Ставим 5.2.3,1 После установки пакета, можно попробовать запустить trafshow следущей командой:

# trafshow -i rl0 -n -p

В данном случае, опция -i указывает программе какой интерфейс прослушивать. Опция -n говорит не определять DNS имена, а выводить только IP адреса (по-умолчанию показываются имена машин). Опция -p запрещает переводить сетевой интерфейс в promiscuous (“прослушивающий”) режим. В promiscuous режиме сетевая карта начинает перехватывать все пакеты в ethernet сети, при этом она как еще говорят “шумит”. К слову сказать, если системный администратор обнаружил в своей сети “шумящий” ethernet адаптер - это для него повод задуматься… а заодно разобраться и дать “по шапке” тому умнику, который запустил в локалке сниффер. :lol: С помощью trafshow очень удобно просматривать загрузку на сетевом интерфейсе маршрутизатора. Очень быстро можно определить, кто из пользователей в локальной сети в настоящий момент обнаглел и, убрав все ограничения в своем менеджере закачек, тянет с рапидшары очередной порнофильм. Картинка вырисовывается примерно такая:

From Address          To Address           Proto  Bytes CPS
===============================================================
197.XXX.XXX.XXX..80   192.168.0.59..1654   tcp  8911800 1132148
XXX.XXX.XXX.XXX..22   192.168.0.100..1053  tcp   700500 108329
192.168.0.59..1654    XXX.212.190.20..80   tcp   159560 20336
192.168.0.100..1053   XXX.XXX.XXX.XXX..22  tcp   100308 15316
XXX.XXX.XXX.XXX..22   192.168.0.100..1356  tcp     4912 982
192.168.0.100..1356   XXX.XXX.XXX.XXX..22  tcp      840 168
XXX.248.XXX.95..110   192.168.0.100..2072  tcp      171 34
172.16.1.6..2086      192.168.0.3..1718    udp      126 25
192.168.0.3..1718     172.16.1.6..2086     udp      116 23
192.168.0.100..2072   XXX.212.145.95..110  tcp       80 16
172.16.1.8..2981      192.168.0.3..4888    tcp       80 16
192.168.0.3..4888     172.16.1.8..2981     tcp       48 9
192.168.0.29..1058    192.9.200.222..9800  tcp       40 8

Табличка обновляется с периодичностью ~1 секунда (по-умолчанию). Если хотите это время изменить, а также раскрасить разные протоколы (http, smtp, pop3 и т.д.) в разные цвета, создайте в домашней директории /root файл .trafshow приблизительно такого содержания:


Эта часть публикации доступна только зарегистрированным посетителям!
Пожалуйста, войдите [Login] или зарегистрируйтесь [Register].

Вот теперь смотрится намного удобней. За пример файла .trafshow благодарность отправляется Vovan‘у. :)

Похожие публикации

Выделенные сервера дешевле обычного хостинга

Комментариев 13

1 2

Daemony 28 мая, 2009 22:08:29 EEST .:. ID #11282 .:.

Ad1ce: 99% что нужен был просто rehash

если шелл не bash :roll: Башу rehash не нужен. Он сам подхватывает.

Ad1ce 28 мая, 2009 21:49:55 EEST .:. ID #11278 .:.

99% что нужен был просто rehash

Daemony 28 мая, 2009 09:01:42 EEST .:. ID #11273 .:.

olegpon: Поставил как в статье trafshow, на команду make install clean ОС ответила Cleaning for trafshow-5.2.3,1 На дальнейшую мою команду trafshow -i -rl0 -n -p получил ответ trafshow: Command not found В чем может быть проблема? PS с FreeBSD “общаюсь” 2й день :)

pkg_info | grep trafshow что говорит?

1 2

Возник вопрос по этой теме, или есть что добавить? Говорите!

  1. Зарегистрированным пользователям вводить защитный код (captcha) не приходится.
  2. Загрузить свою аватарку Вы сможете, зарегистрировавшись на сервисе www.gravatar.com
Публикуя комментарий Вы подтверждаете, что ознакомились c Правилами и принимаете их!
HOMOSAPIENS ONLY! :)