Учет трафика в локальной сети linux. Обзор Бесплатных Биллинг систем на Linux. Мониторинг сети с помощью iptraf

Декоративные 15.04.2022
Декоративные

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

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

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

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

Варианты учета трафика Linux

Классический вариант - установка прокси-сервера SQUID, его настройка на раздачу трафика в локальную сеть и привязка к нему одного из веб-серверов - SAMS или LightSqiud.

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

И учитывать трафик можно только проходящий по 80 порту. Так что этот вариант дает скорее информацию о посещенных пользователями сайтах, но никак не отражает общую сетевую активность.

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

Настройка IPCad для учета трафика Linux

Главное перед установкой поставить несколько библиотек в систему - build-essential, libpcap-dev и linux-libc-dev.

После установки в файле /usr/local/etc/ipcad.conf можно посмотреть примеры настройки IPCad. В простом случае нужно указать сетевые интерфейсы, по которому производится подсчет трафика Linux, например:

Aggregate 192.168.36.0/24 strip 32
остальные адреса смотрим по первым 24 битам:

Aggregate 0.0.0.0/0 strip 24
Поднимаем сервер rsh для просмотра статистики

Rsh enable at 127.0.0.1
Указываем, что подсчет трафика Linux проводится от своей учетной записи:

Rsh [email protected] admin
Запрещаем пользователю «user» доступ:

Rsh [email protected] deny
Делаем так, чтобы пользователи в сети могли просматривать свою статистику:

Rsh 127.0.0.1 view-only
Указываем файл, куда собирается статистика:

Dumpfile = /var/log/ipcad/ipcad.dump
Остальные опции для начала можно закомментировать.

Sudo touch /var/log/ipcad/ipcad.dump
и даем ему необходимые права:

Sudo chmod 600 /var/log/ipcad/ipcad.dump
Далее стартуем сервис:

Sudo ipcad -rds
Для автозапуска добавляем строчку в /etc/rc.local или его аналог, зависит дистрибутива:

Rsh localhost show ip accounting
Недостатком использования IPCad является то, что статистику можно просматривать в консоли. Но если найти нужный в интернете скрипт на Perl и привязать страницу с ним к httpd-серверу. Тогда учет трафика Linux можно вести через браузер.

Однажды мне потребовалось измерить количество трафика, которое «пожирает» некоторое приложение. Один из способов такого измерения - это установить прокси. Но что, если не хочется ставить прокси-сервер?.. Мне вот не хотелось. В поисках других способов я сначала перерыл Хабр, потом интернет. Так как я в своё время потратил на это много времени, то сейчас я создаю эту заметку, чтобы у других такой проблемы не возникло.

ВАЖНО:
Этот метод работает, если мы знаем по какому адресу (адресам) обращается наше приложение, или же с какого/каких портов.

Пошаговая инструкция

1. iptraf
iptraf - это небольшая программа, которая умеет мониторить всю сетевую активность компьютера.
Исходники и бинарники можно загрузить с сайта iptraf.

В случае Ubuntu установить iptraf можно выполнив команду:
sudo apt-get install iptraf

2. Запускаем!
В терминале пишем: iptraf
3. Настраиваем
Надо включить логирование (иначе программа ограничиться выводом на экран). Делается это, очевидно, в разделе «Configure» .

4. Запуск мониторинга
Уходим из настроек, жмём «IP traffic monitor» и выбираем путь к файлу, куда будем логировать сетевую активность.

После этого мы должны увидеть такую картину:

Это всё, что нужно! Почти.

5. Анализ
Как я уже упоминал выше, нужно знать, по какому адресу/порту обращается наше приложение (трафик которого мы высчитываем).
Например, если мы хотим посчитать сколько трафика «стоит» час радио last.fm , мы должны определить следующее:
приложение last.fm обращается к адресам вроде таких:
195.24.* (last.fm не обращается к одному адресу, а обращается к диапазону адресов).
Чтобы вытащить из лога (который писался час) количество трафика, которое было съедено, я написал небольшую «программку» на java, которая этот трафик и считает:

Package stat; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; /** * * @author http://habrahabr.ru/users/nucleotide/ */ public class Main { public static void main(String args) throws IOException { BufferedReader reader = new BufferedReader(new FileReader("/var/log/iptraf/ip_traffic")); String line; long count = 0; long traffic = 0; while ((line = reader.readLine()) != null) { count++; String s = line.split(" "); if (s.length < 12) { continue; } if (s.contains("195.24.") || s.contains("195.24.")) { //"from" and "to" traffic += new Long(s); if(s.length>16) traffic += new Long(s); } } System.out.println("Count: " + count + " lines"); System.out.println("Total: " + traffic + " bytes!"); System.out.println("Total: " + traffic / 1024 + " Kbytes!"); System.out.println("Total: " + traffic / (1024 * 1024) + " Mbytes!"); } }

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

Возможно, это не лучший вариант (хоть и работающий). Есть множество других вариантов.

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

В этой статье мы рассмотрим как выполняется мониторинг сети Linux. Для этого можно использовать различные утилиты. Начиная от сетевых анализаторов, таких как и до более простых инструментов, таких как iptraf.

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

Таким образом, очень просто можно узнать какая сейчас нагрузка на сеть, какие программы или сервисы создали пакеты, и даже что содержится в этих пакетах и что делает пользователь.

Мониторинг сети с помощью iptraf

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

sudo apt install iptraf

А в CentOS / Red Hat выполните:

sudo yum install iptraf

После установки утилиты для ее запуска просто наберите в терминале iptraf:

Перед вами откроется интерактивный интерфейс на основе Ncurses, в котором необходимо выбрать нужное действие. Здесь доступны монитор пропускной способности сети, статистика по интерфейсу, статистика по сбоям и монитор локальной сети.

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

Например, для просмотра сетевых соединений и статистики трафика для каждого из них выберите "IP traffic moitor". Затем вам будет необходимо выбрать сетевой интерфейс, например, enp2s0:

Дальше вы увидите все IP адреса, с которыми сейчас выполняется взаимодействие. Здесь можно увидеть направление отправки пакетов, количество пакетов и общий объем переданных или полученных данных в байтах.

С помощью других пунктов меню можно посмотреть статистику по интерфейсу или статистику по работе локальной сети. Утилита даже может работать в неразборчивом режиме, чтобы собирать максимум данных про локальную сеть.



Также поддерживаются фильтры, которые позволяют отфильтровывать информацию только по определенному критерию. Например, чтобы создать фильтр откройте меню "Filters" , затем выберите "IP..." , а дальше "Apply new filter" :

Затем нужно указать имя фильтра:

На следующем этапе вы можете расписать нужные параметры фильтрации:

Чтобы применить фильтр нужно выбрать "Apply filter" и выбрать имя фильтра из списка:


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

Мониторинг трафика Linux чаще всего выполняется администраторами именно с помощью этой утилиты. Видео про использование утилиты:

Мониторинг сети с помощью других утилит

Самая мощная программа для мониторинга сети - это iptraf. Она предоставляет всю необходимую для администраторов информацию. Но, кроме нее, существуют и другие продукты. Рассмотрим их более подробно.

1. iftop

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

Установить программу в Ubuntu можно командной:

sudo apt install iftop

Хотя здесь отображается информация по каждому соединению, программа не может идентифицировать программу, которая создает пакеты.

2. nload

nload - это очень простая утилита, которая отображает только скорость входящих и исходящих соединений. Это позволяет сделать примитивный анализ сети linux и определить нагрузку. Отображается текущая скорость, максимальная и минимальная скорость за период работы. Также данные о скорости выводятся в виде графика, поэтому вам будет достаточно беглого взгляда, чтобы понять что происходит.

Для установки программы в Ubuntu используйте команду:

sudo apt install nload

3. nethogs

Это достаточно интересная утилита для мониторинга сетей, которая выделяется среди других. С помощью нее можно посмотреть какой процесс создает тот или иной трафик. Здесь отображаются PID процессов и имена пользователей, отсортированные по занимаемой пропускной способности сети:

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

sudo yum install nethogs

4. bmon

Утилита bmon позволяет отображать достаточно подробно статистику по каждому сетевому интерфейсу. Она работает похоже на nload и выводит график кроме текстовой информации:

Для установки программы выполните:

sudo apt install bmon

5. Vnstat

Vnstat отличается от всех инструментов, рассмотренных выше. Программа работает постоянно в фоновом режиме и собирает информацию об использовании сети в лог файл. Далее можно посмотреть какой была нагрузка за определенный период. Для установки утилиты выполните:

sudo systemctl start vnstat

Здесь будет отображаться информация о нагрузке на сеть с указанием дат и периодов. Также вы можете посмотреть доступную информацию в реальном времени. Для этого используйте опцию -l:

Видео про использование и настройку vnstat:

6. bwm-ng

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

Для установки утилиты выполните такую команду:

sudo apt install bwm-ng

7. speedometer

Это еще один простой инструмент, который позволяет выполнить мониторинг сети и выводит данные в виде красивых графиков. Для установки программы выполните:

sudo pip install speedometer

Как видите, она есть в официальных репозиториев не всех дистрибутивов, зато вы можете установить программу из репозитория python.

speedometer -r enp2s0f0 -t enp2s0f0

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

8. netwatch

Netwatch - это небольшая утилита, которая входит в набор инструментов Netdiag и показывает сетевые соединения между локальной и удаленными системами, а также скорость, с которой будут передаваться данные. Для установки программы используйте:

sudo apt install netdiag

Затем для запуска:

9. ifstat

Утилита ifstat показывает пропускную способность сети, измеряя количество переданных и принятых пакетов. Вывод утилиты можно использовать и анализировать в других программах. Утилита не выводит информацию об ip адресах или других параметрах, а только скорость. Для установки используйте:

sudo apt install ifstat

Для запуска:

10. trafshow

Это утилита, очень похожа на iftop, которая отображает не только скорость передачи, но и сами соединения. Здесь выводится информация по соединениях, размеры пакетов и протокол. Для установки программы наберите:

sudo apt install trafshow

Осталось запустить программу:

Выводы

В этой статье мы рассмотрели команду Iptraf, а также еще несколько полезных утилит, с помощью которых можно выполнять мониторинг сети linux на сервере или домашнем компьютере. Некоторые из этих инструментов можно использовать даже в корпоративной среде. В качестве альтернативы вы можете использовать инструменты с веб-интерфейсом. Некоторые из них перечислены в статье . А какие инструменты мониторинга используете вы? Напишите в комментариях!

В этой статье собраны способы мониторинга трафика, проходящего через сервер. Чаще всего задача мониторинга встаёт для роутеров, обеспечивающих связь с интернетом.

Мониторинг в реальном времени

Для мониторинга трафика в реальном времени можно использовать утилиту jnettop:

sudo jnettop

Или, как вариант, vnstat с ключом –live:

sudo vnstat --live

Можно также воспользоваться достаточно удобной утилитой с псевдографическим интерфейсом, которая называется iptraf:

sudo iptraf

Журналирование активности средствами iptables

Стандартный пакетный фильтр iptables иногда может быть очень полезен для анализа какого-то конкретного типа трафика. iptables позволяет записывать в системный журнал активность по выбранным критериям. Например, с помощью iptables можно легко отследить, какой компьютер посылает данные во внешнюю сеть по 25 порту (SMTP), таким образом вычислив заражённый компьютер в локальной сети.

Для записи данных в файл журнала предназначено действие LOG (и более мощное ULOG). Подробный его синтаксис и возможные параметры можно посмотреть в документации по iptables .

Важным аспектом является то, что iptables сам не ведёт файлы журналов. Вместо этого действие LOG отправляет информацию системному демону журналирования, и уже он записывает её в журнал, коим чаще всего является /var/log/syslog . В итоге получается каша, в которой очень непросто разобраться. Поскольку iptables сам не занимается ведением журнала, то перенаправить запись в отдельный файл средствами самого iptables невозможно.

К счастью, в Ubuntu существует простой способ рассортировать данные по нужным журналам средствами используемой системы журналирования rsyslog . Достаточно при записи в журнал добавлять некий уникальный префикс. Например, вот так:

sudo iptables -t filter -A FORWARD -s 192.168.0.0/ 16 -m tcp -p tcp --dport 25 -j LOG --log-prefix "iptables: "

Теперь все записи в журнале, соответствующие этому критерию, будут начинаться с «iptables: ». Осталось добавить правило сортировки в систему журналирования. Для этого можно создать файл /etc/rsyslog.d/10-iptables.conf со следующим содержанием:

:msg, contains, "iptables: " -/var/log/iptables.log & ~

Вторая строчка означает, что дальнейшую работу с этой записью производить не надо, т.е. она не должна попадать в другие журналы.

После создания нового файла конфигурации не забудьте переконфигурировать rsyslog:

sudo / etc/ init.d/ rsyslog reload

Теперь вся активность, соответствующая добавленному правилу iptables, будет записываться в файл /var/log/iptables.log . Если вы хотите надолго оставить журналирование, то не забудьте добавить этот файл в систему ротации логов logrotate , а то в какой-то момент у вас может закончиться место на диске.

Подробней про управление записью журнала можно почитать в документации по rsyslog.

Утилиты Vnstat и Vnstati

Vnstat это очень простой инструмент для учёта трафика. Он есть в репозиториях Ubuntu, так что установка не вызывает сложностей. Vnstat не требует тонкой настройки, просто считает трафик и позволяет просматривать статистику. Для обычного пользователя этого чаще всего более чем достаточно.

Чтобы начать подсчёт трафика надо выполнить команду, которая создаст базу данных для указанного интерфейса:

sudo vnstat -u -i eth0

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

sudo vnstat -u

Для просмотра статистики достаточно просто ввести:

Также можно использовать ключи:

H, --hours по часам -d, --days за день -m, --months за месяц -w, --weeks за неделю -t, --top10 top10 -s, --short короткий вывод -l, --live мониторинг в реальном времени

Vnstati это утилита для визуализации статистики, с ней тоже все просто. Вот, например, короткий скрипт, который выводит на экран статистику в виде картинки:

#! /bin/bash vnstat -u vnstati -vs -o ~/ vnstati.png eog ~/ vnstati.png

Обе утилиты имеют еще некоторые возможности, не забывайте про ключ --help и утилиту man!

Netflow - мониторинг с ведением статистики

Для мониторинга с ведением статистики одним из популярных решений является технология Netflow .

Для сбора статистики с помощью Netflow необходимо на нужные интерфейсы повесить специальные Netflow-сенсоры, которые будут собирать информацию и передавать Netflow-коллектору, который может располагаться на другой машине.

Информацию, собранную коллектором, можно визуализировать с помощью графического фронтенда, или же анализировать с помощью утилит командной строки.

В качестве сенсоров можно использовать доступные в стандартных репозиториях fprobe или softflowd .

Сенсор fprobe

Для установки сенсора fprobe можно, например, выполнить такую команду:

sudo apt-get install fprobe

Установщик спросит, на каком интерфейсе слушать трафик, и куда передавать собранную статистику - введите нужные вам параметры и fprobe начнёт работать. Например, для Nfsen в примере ниже нужно указать порт 9995.

Автозапуск при перезапуске сети

Демон fprobe всегда аварийно завершается, когда интерфейс, к которому он привязан, выключается (переходит в состояние DOWN). И не запускается автоматически снова, когда интерфейс возобновляет работу.

Если вам по каким-то причинам нужно периодически переключать интерфейсы, то чтобы обойти данную проблему fprobe можно в файл /etc/network/interfaces после описания интерфейса добавить строчки

Up service fprobe start down service fprobe stop

Например, могло бы получится нечто похожее на:

Allow-hotplug eth0 iface eth0 inet static address 192.168.0.1 netmask 255.255.255.0 # fprobe up service fprobe start down service fprobe stop

Теперь при использовании утилит, которые перечитывают этот файл (ifup и ifdown), fprobe будет корректно завершаться и автоматически запускаться при переключении состояния интерфейса. При этом при старте системы fprobe будет пытаться запуститься два раза (один раз стандартным способом, другой - через /etc/network/interfaces), и хотя у него это не получится, но всё же для порядка лучше автозапуск системного демона fprobe убрать:

sudo update-rc.d -f fprobe remove

Несколько демонов fprobe на одном компьютере

Если вы хотите запустить на одном компьютере сразу несколько демонов fprobe (чтобы слушать несколько интерфейсов), то придётся немного изменить стартовые скрипты.

Для начала отредактируйте имеющийся стартовый скрипт /etc/init.d/fprobe , заменив в нём строчку

NAME =fprobe

на строчку

NAME ="fprobe"

И, кроме этого, строчку

DAEMON_OPTS ="-i

на строчку

DAEMON_OPTS ="-l 1:0 -i$INTERFACE $OTHER_ARGS $FLOW_COLLECTOR "

Первое число добавленного параметра запуска -l («1») говорит fprobe использовать syslog для журналирования, а второе является идентификатором процесса. Именно второе число и нужно менять при запуске нескольких копий fprobe , и оно же должно стоять в квадратных скобочках в параметре NAME соответствующего стартового скрипта.

Теперь, чтобы создать все необходимые параметры и скрипты для запуска второй копии fprobe , скопируйте /etc/init.d/fprobe в /etc/init.d/fprobe_1:

sudo cp / etc/ init.d/ fprobe / etc/ init.d/ fprobe_1

И /etc/default/fprobe в /etc/default/fprobe_1:

sudo cp / etc/ default/ fprobe / etc/ default/ fprobe_1

Отредактируйте /etc/default/fprobe_1 для работы со вторым интерфейсом.

Теперь надо отредактировать стартовый скрипт /etc/init.d/fprobe_1 для второго процесса fprobe . Замените числа в параметре NAME и DAEMON_OPTS на нужные:

NAME ="fprobe" DAEMON_OPTS ="-l 1:1 -i$INTERFACE $OTHER_ARGS $FLOW_COLLECTOR "

Кроме этого, измените код загрузки конфигурационного файла таким образом, чтобы он обращался к файлу fprobe_1. Вместо примерно следующего:

if [ -f / etc/ default/ fprobe ] ; then . / etc/ default/ fprobe fi

должно получится что-то вроде:

# Include fprobe defaults if available if [ -f / etc/ default/ fprobe_1 ] ; then . / etc/ default/ fprobe_1 fi

Также в новых версиях Ubuntu в начале этого файла содержится специальный комментарий для системы загрузки. Он начинается со строчки

# ## BEGIN INIT INFO

В этом комментарии также необходимо заменить строчку

# Provides: fprobe

на строчку

# Provides: fprobe_1

Убедитесь, что всё работает, как надо. Для этого запустите оба fprobe , потом загляните в любой менеджер процессов (например, htop) и найдите там оба демона.

Если всё нормально, то добавьте второй демон fprobe в автозагрузку командой

sudo update-rc.d fprobe_1 defaults

Конечно, если вы пропишете запуск второго демона fprobe в /etc/network/interfaces , то добавлять его в автозагрузку не стоит.

Таким образом можно запустить сколько угодно демонов fprobe , просто меняя идентификатор.

Коллектор Nfdump и визуализатор данных Nfsen

Nfdump и Nfsen - это коллектор с сопутствующими утилитами и веб-интерфейс визуализации собранных данных. Nfdump доступен в стандартных репозиториях Ubuntu, а Nfsen можно скачать с официального сайта . Там же можно посмотреть скриншоты, чтобы составить представление о том, что такое Nfsen.

В качестве сенсора для этой связки можно использовать любой доступный, например fprobe или softflowd .

Nfdump можно поставить через любой пакетный менеджер, например, командой

sudo apt-get install nfdump

Nfsen необходимо распаковать куда-нибудь на сервер из архива с исходными текстами и выполнить несколько несложных операций. Для начала необходимо поставить все нужные для работы пакеты:

sudo apt-get install apache2 libapache2-mod-php5 librrds-perl libmailtools-perl

После этого зайти в папку etc/ в директории, куда вы распаковали Nfsen, и переименовать находящийся там файл nfsen-dist.conf в nfsen.conf . Это основной конфигурационный файл Nfsen. Его необходимо отредактировать под ваши нужды. Ниже приведены только опции, которые нужно изменить для базовой конфигурации Nfsen:

# Директория, куда установится Nfsen. $BASEDIR = "/srv/nfsen" ; # Если хотим веб-интерфейс поставить в ту же папочку, что и всё остальное $HTMLDIR = "${BASEDIR}/www" ; # Местоположение утилит Nfdump для Ubuntu и Debian $PREFIX = "/usr/bin" ; # Пользователь для запуска nfcapd - демона-коллектора $USER = "www-data" ; # Пользователь и группа для запуска веб-интерфейса $WWWUSER = "www-data" ; $WWWGROUP = "www-data" ; # Источники сбора данных - имя, локальный порт, на котором слушать, цвет графика %sources = ( "router1" => { "port" => "9995" , "col" => "#0000ff" , "type" => "netflow" } , "router2" => { "port" => "9996" , "col" => "#00ff00" , "type" => "netflow" } , ) ;

Подробную документацию по доступным возможностям можно почитать на .

В Ubuntu 12.04 LTS с Perl 5.14 и nfsen 1.3.6p1 нет import Socket6. В файлах «libexec/AbuseWhois.pm» и «libexec/Lookup.pm» заменить:

use Socket6;

Socket6-> import (qw (pack_sockaddr_in6 unpack_sockaddr_in6 inet_pton getaddrinfo) ) ;

После редактирования конфига можно установить Nfsen. Для этого достаточно из директории, куда вы его распаковали, выполнить команду

./ install.pl etc/ nfsen.conf

Всё, что осталось, это запустить Nfsen. В примере выше в качестве директории для установки Nfsen указан путь /srv/nfsen/. В этом случае для запуска можно использовать команду

/ srv/ nfsen/ bin/ nfsen start

Чтобы интегрировать Nfsen в систему качестве автоматически запускаемого сервиса выполните две примерно такие команды:

ln -s / srv/ nfsen/ bin/ nfsen / etc/ init.d/ nfsen update-rc.d nfsen defaults 20

Теперь, если вы оставили настройки веб-сервера по умолчанию, веб-интерфейс должен быть доступен по адресу http://yourserver/nfsen/nfsen.php .

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

Для мониторинга скорости соединения и трафика можно также использовать стандартный апплет панели cairo-dock - netspeed и популярное средство системного мониторинга conky.

14

Я бы порекомендовал iptraf или iftop , если вам не нужно много функциональность. На домашней странице iptraf:

IPTraf - это консольная утилита статистики сети для Linux. Он собирает множество показателей, таких как TCP-соединение и количество байтов, статистика интерфейса и индикаторы активности, сбои трафика TCP/UDP и количество пакетов и байт-станций локальной сети. Характеристики

  • Монитор IP-трафика, который показывает информацию об IP-трафике, проходящем через вашу сеть. Включает информацию о флагах TCP, количество пакетов и байт, данные ICMP, типы пакетов OSPF.
  • Общая и подробная статистика интерфейса, показывающая IP, TCP, UDP, ICMP, не IP и другие IP-пакеты, ошибки контрольной суммы IP, активность интерфейса, количество пакетов.
  • Протокол TCP и UDP службы монитор, показывающий счетчики входящих и исходящих пакетов для общих TCP и UDP портов приложений
  • Локальная сеть Модуль статистики, который обнаруживает активные хосты и показывает статистические данные, показывающие активность данных на них
  • TCP, UDP, и другие фильтры отображения протокола, позволяющие просматривать только интересующий вас трафик.
  • Регистрация
  • Поддерживает типы интерфейса Ethernet, FDDI, ISDN, SLIP, PPP и loopback.
  • Использует встроенный интерфейс raw socket ядра Linux, позволяя использовать его на широком диапазоне поддерживаемых сетевых карт.
  • Полноэкранный режим, управляемый меню.

Скриншот IPTraf главного меню:

Это скриншот, если iftop:

1

Такие вещи, как bro IDS будет анализировать трафик, который идет через сетевой интерфейс и записывать всевозможные вещи, такие как соединения и количество трафика IR, найденные протоколы и информацию для каждого протокола (например, HTTP-запросы, отправленные письма, DNS-запросы, общие имена сертификатов SSL ...). Это не скажет вам, что это за приложение (за исключением регистрации агентов пользователя, например, для HTTP-браузеров). Поскольку он обнюхивает пакет, он может пропустить некоторые данные, если он не может идти в ногу с объемом обмена данными (хотя он будет сообщать, если он это делает).

conntrackd может использоваться для регистрации каждого соединения, отслеживаемого брандмауэром с состоянием, и обмена данными. Он будет работать независимо от объема данных, проходящих через систему, но не будет сообщать данные, которые не проходят через брандмауэр, например, мостовой трафик, если они исключены из сетевого фильтра или raw-сокета.

Вы также можете использовать правила брандмауэра для регистрации трафика с использованием цели LOG или ULOG в комбинации с ulogd .

Для регистрации того, что связано с подключением pid, вам необходимо использовать систему аудита (auditd / auditctl), но это было бы очень много и нелегко анализировать.

Рекомендуем почитать

Наверх