28
февраль
2024
Пакетный сниффер Darkstat
17:07

Пакетный сниффер Darkstat

28 февраль 2024 17:07

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

Введение

При использовании локальной сети иногда полезно знать о происходящем в ней в целом, для выявления полной картины:

  • аномальное увеличение трафика (большие объемы передачи или приема, запросы с большой частотой)
  • проявление новых, несанкционированных ПК или чужих устройств в локальной сети
  • выявление неисправностей (например, запросы к определённому порту или протоколу без ответа).
  • появление нестандартных протоколов или открытие портов на локальных ПК (могут быть вызваны вредоносным ПО).

Всё это желательно делать в длительной перспективе (24/7) и 365 дней в году.

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

Darkstat, в отличие от профессиональных сетевых инструментов, таких как Wireshark или tcpdump, не захватывает сетевые пакеты полностью, а просматривает лишь заголовки пакетов. Darkstat использует системную библиотеку, написанную на языке C++, работающую в ядре Linux. Поэтому darkstat нетребователен к ресурсам ПК (нагрузка на CPU менее 1%, потребление ОЗУ не более 1.7 Мбайт).

Приложение Darkstat состоит из двух частей:

  • служба, которая постоянно находится в фоновом режиме, захватывая собирает данные в свою базу данных (DB).
  • веб интерфейс по адресу http://localhost:667..

Возможности Darkstat

  • перехват сетевого трафика локальной сети при помощи библиотеки ядра libpcap
  • занесение сокращенной информации (IP источника IP/MAC приемника, порты, протокол) в свою БД (в папке /var/lib/darkstat)
  • в веб-интерфейсе доступны следующие возможности:
    • подсчет увиденных и захваченных пакетов и объема трафика
    • закладка graphs = графики принятых / переданных пакетов - по секундам, минутам, дням и часам, с указанием скорости
    • закладка hosts - детальная информация по каждому IP-адресу
    • подсчет количества пакетов хоста по портам: netbios-dgm, netbios-ns и bootps
    • подсчет количества пакетов хоста по протоколам (TCP, UDP, ICMP, IGMP, GRE)
  • IP-адреса в базе данных асинхронно преобразуются в имена для их удобного представления при выводе на экран.
  • Поддержка протокола IPv6, поддержка TCP.UDP, мультикаста и других протоколов (netbios, HIP, DNS mDNS).

Установка Darkstat

Библиотека для захвата трафика libpcap входит в состав ядра Linux и не требует установки.

Установка для различных ОС:

Ubuntu / XUbuntu / Linux Mint

sudo apt install darkstat

Debian:
su -
apt install darkstat

Fedora:

sudo dnf install darkstat

CentOS

sudo yum install darkstat

Настройка darkstat

Конфигурация находится в файле /etc/darkstat/init.cfg. Она требует доработки перед запуском.
Привожу значащие строки в файле конфигурации:

sudo nano /etc/darkstat/init.cfg
START_DARKSTAT=yes
INTERFACE="-i enp1s10"
DIR="/var/lib/darkstat"
DAYLOG="--daylog darkstat.log"

где:
START_DARKSTAT - значение должно быть установлено в “yes”
-i enp1s10 - имя интерфейса сетевой карты (можно узнать командой ip addr). Если не указать или некорректно задать параметр INTERFACE, то darkstat не сможет слушать пакеты (не сможет работать).
"/var/lib/darkstat" - рабочий каталог (по умолчанию, менять не следует). В ней же будет хранится и база данных и журнал запуска/остановки программы.
--daylog darkstat.log - имя файла для записи запусков/остановок программы (находится в рабочем каталоге).

Запуск Darkstat

В ОС Ubuntu / Debian и MX Linux с системой запуска SystemD:

sudo systemctl start darkstat
sudo /lib/systemd/systemd-sysv-install enable darkstat
sudo systemctl status darkstat

В antiX или если в MX Linux выбрана система инициализации SysV вместо SystemD:

sudo /etc/init.d/darkstat start
sudo chkconfig darkstat on
sudo /etc/init.d/darkstat status

Веб-интерфейс

Чтобы открыть доступ к статистике с других ПК в сети, нужно настройка брандмауэра "uwf"

sudo ufw allow 667/tcp
sudo ufw reload

Чтобы закрыть доступ с других ПК к данному компьютеру по порту darkstat 667:

sudo ufw deny 667/tcp
sudo ufw reload

Для просмотра веб интерфейса перейдите по адресу. Имя пользователя и пароль не требуется

http://localhost:667



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