|
|
автор Mario M. Knopf (homepage) Об авторе: Mario нравится изучать Linux, сети и все, что связано с безопасностью. Перевод на Русский: Pukhlyakov Kirill <kirill(at)linuxfocus.org> Содержание: |
darkstat - инструмент для анализа сетевого трафикаРезюме:
В заметке рассказывается об инструменте для анализа сетевого трафика
"darkstat", его установке и использовании.
|
"darkstat" [1] - инструмент для анализа сетевого трафика, который на основе полученных данных создает отчеты в формате HTML для просмотра в браузере. Создатель этого приложения долгое время пользовался "ntop'ом", но из-за его нестабильности решил написать "darkstat". Приложением анализируется взаимодействие между хостами, их трафик, порты и протоколы. Также можно получить графики за определенный период и общие данные по проанализированным пакетам с момента запуска приложения.
В конце заметки есть адреса [3] откуда можно скачать "darkstat".
Как и многие другие приложения для мониторинга сети, "darkstat" использует "libpcap" [7], библиотеку используемую снифферами для захвата и анализа пакетов передаваемых сетевыми устройствами. Для установки "darkstat" вам необходима эта библиотека.
Компилируется приложение обычным способом - "./configure && make && make install". Не забывайте, что последняя команда должна быть выполнена с привилегиями root'а.
Хотя "darkstat" и предполагает возможность запуска с параметрами, первый раз обойдемся без них. Для корректной работы приложения его необходимо запустить root'ом или с привилегиями "sudo" [8]:
neo5k@proteus> sudo /usr/local/sbin/darkstat We trust you have received the usual lecture from the local System Administrator. It usually boils down to these two things: #1) Respect the privacy of others. #2) Think before you type. Password:
После авторизации пользователя "darkstat" стартует и выводит несколько сообщений на консоль:
darkstat v2.6 using libpcap v2.4 (i686-pc-linux-gnu) Firing up threads... Sniffing on device eth0, local IP is 192.168.1.1 DNS: Thread is awake. WWW: Thread is awake and awaiting connections. WWW: You are using the English language version. GRAPH: Starting at 8 secs, 51 mins, 22hrs, 30 days. Can't load db from darkstat.db, starting from scratch. ACCT: Capturing traffic... Point your browser at http://localhost:666/ to see the stats.
Тестовый запуск оказался удачным. Теперь можно разобраться с параметрами.
Как мы уже сказали можно использовать параметры при запуске "darkstat". Рассмотрим их:
"-i" определяет интерфейс для мониторинга.
darkstat -i eth1
Если "darkstat" запущен без параметров, приложение открывает привилегированный порт 666. Это можно предотвратить используя параметр "-p":
darkstat -p 8080
Для связки порта с интерфейсом используем параметр "-b":
darkstat -b 127.0.0.1
Предотвратить DNS-Resolution можно используя параметр "-n". Это может быть интересно пользователям выделенных линий.
darkstat -n
Параметр "-P" используется для предотвращения работы "darkstat" в "promiscuous mode". Но это не рекомендуется делать, потому что "darkstat" принимает и анализирует пакеты адресованные MAC'у интерфейса, который мониторят. Все остальные пакеты игнорируются.
darkstat -P
Параметр "-l" используется для активации "SNAT" в локальной сети. "SNAT"("Source Network Address Translation") означает маскирование роутером локального IP адреса клиента своим внешним.
darkstat -l 192.168.1.0/255.255.255.0
Параметр "-e" используется для указания выражения фильтрации пакетов.
darkstat -e "port not 22"
Начиная с версии 2.5 можно использовать параметр detach для отвязки "darkstat" от запускающего терминала. Соответственно "darkstat" будет работать демоном.
darkstat --detach
Параметром "-d" можно указать каталог, где "darkstat" будет создавать свою базу.
darkstat -d /directory
Параметр "-v" для включения "verbose mode":
darkstat -v
Чтобы узнать версию приложения, синтаксис и примеры использования - есть параметр "-h".
darkstat -h
После запуска приложения откройте браузер и наберите адрес "http://localhost:666/". Там уже вы увидите кое-какую статистику и несколько графиков:
В разделе "hosts" расположены компьютеры, участвующие во взаимодействии. Они могут быть отсортированы по трафику или адресам. Это дает вам возможность быстро найти самые активные машины в сети. Например, на следующем скриншоте видно, что это клиент с локальным IP адресом "192.168.1.203".
Скриншот 2: darkstat ( хосты )
Следующий скриншот показывает номера портов, используемых серверными и клиентскими приложениями. Вы конечно сразу узнали следующие: 21 (FTP), 22 (SSH), 139 (Samba), 631 (CUPS), 666 (darkstat), 3128 (Squid). Тем не менее два из известных невидимы: "dhcpd" и "dnsmasq", потому что они работают через "UDP". Другие порты с номерами больше 1024 используются клиентскими приложениями для взаимодействия. Исключением является "squid", использующий порт 3128. Список всех поддерживаемых портов вы можете изучить на IANA [9] или можете посмотреть на файл "/etc/services".
Скриншот 3: darkstat ( порты )
На следующем скриншоте вы видите протоколы "ICMP", "TCP" и "UDP", которые используются для передачи файлов. Если хотите узнать подробнее о них - читайте тут: [10], [11] и [12].
Скриншот 4: darkstat ( протоколы )
На последнем скриншоте расположены графики с обобщенной временной информацией:
Скриншот 5: darkstat ( графики )
К сожалению версия 2.6 приложения "darkstat" зависит от "pthreads", что становится проблемой использования на других платформах ( например NetBSD ). Поэтому Emil Mikulic, автор приложения, решил не развивать далее версию 2.х и перешел к 3.х.
В новой версии ожидается появление следующих возможностей: захват пакетов с разных интерфейсов одновременно, парсер конфигурационного файла, улучшенный вывод для диаграмм ( сравнимый с RRDtool [13] ), настраиваемый CSS файл, административный вход и редактирование базы через веб интерфейс.
"darkstat" надежный и быстрый инструмент для анализа трафика. Кроме того - прост в использовании, постоянно развивается и ожидается появление интересных новшеств в готовящейся к выходу версии. Желаю вам удачи в мониторинге ваших локальных сетей.
[1] http://purl.org/net/darkstat [Домашняя страница darkstat]
[2] http://www.ntop.org/ [Домашняя страница ntop]
[3] http://dmr.ath.cx/net/darkstat/darkstat-2.6.tar.gz
[Загрузить]
[4] http://yallara.cs.rmit.edu.au/~emikulic/_/darkstat-2.6.tar.gz
[Загрузить: зеркало #1]
[5] http://neo5k.de/downloads/files/darkstat-2.6.tar.gz
[Загрузить: зеркало #2]
[6] http://ftp.debian.org/debian/pool/main/d/darkstat/
[Пакеты для дистрибутива Debian]
[7] http://www.tcpdump.org/ [Домашняя страница libpcap]
[8] http://www.courtesan.com/sudo/ [Домашняя страница sudo]
[9] http://www.iana.org/assignments/port-numbers
[IANA Port-Numbers]
[10] ftp://ftp.rfc-editor.org/in-notes/rfc792.txt
[RFC 792 - ICMP]
[11] ftp://ftp.rfc-editor.org/in-notes/rfc793.txt
[RFC 793 - TCP]
[12] ftp://ftp.rfc-editor.org/in-notes/rfc768.txt
[RFC 768 - UDP]
[13] http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/
[Домашняя страница RRDtool]
|
Webpages maintained by the LinuxFocus Editor team
© Mario M. Knopf "some rights reserved" see linuxfocus.org/license/ http://www.LinuxFocus.org |
Translation information:
|
2004-10-14, generated by lfparser version 2.48