Ntop - установка и настройка в Gentoo: различия между версиями

Материал из AlexNook
Перейти к навигацииПерейти к поиску
 
(не показаны 4 промежуточные версии этого же участника)
Строка 24: Строка 24:


==Настройка и разбор некоторых флагов команды==
==Настройка и разбор некоторых флагов команды==
Запускать ntop можно как просто обычную консольную команду с параметрами, либо через стандартный гентовский механизм.
Рассмотрим второй вариант. Для этого необходимо открыть на правку файл {{Path|/etc/conf.d/ntop}}
{{Root|nano /etc/conf.d/ntop}}
У меня его содержимое получилось вот таким:
{{File|/etc/conf.d/ntop|<pre>
# Config file for /etc/init.d/ntop
# Set preferred options here
NTOP_OPTS="--output-packet-path /var/lib/ntop/output.packets --local-subnet "192.168.0.0/16"
--interface "lo,eth0,eth1,ppp0" --no-interface-merge --access-log-file /var/log/ntop.log 
--user ntop --db-file-path /var/lib/ntop --http-server 0 --https-server 3000"
#--daemon --use-syslog
</pre>}}
Рассмотрим более подобно, что означает кажда опция.
{{Codeline|--output-packet-path}} путь, где хранится дамп пакетов ntop'а - '''ntop-suspicious-pkts.XXX.pcap''' и пакеты '''normal'''.
{{Note|Все указанные сдесь пути должны быть во-первых созданны, а во-вторых они должны иметь права для чтения, записи и выполнения (для директорий) для пользователя ntop из группы root}}
{{Codeline|--local-subnet}} по умолчанию ntop, считывая маску и ip со всех активных интерфейсов компьютера, считает их локальными. Для отдельного указания подсетей, чей трафик так же будет считаться локальным можно использовать этот параметр. По идее добавлять адреса из диапазона 192.168.0.0/255.255.0.0 большого смысла не имело, но я вставил на всякий случай.
{{Note|IP и маску можно задать так же и в таком формате - 192.168.1.0/255.255.255.0}}
{{Codeline|--interface}} - интерфейсы, которые слушает Ntop. По умолчания он слушает первый интерфейс в системе.
{{Note|Если перечисленно несколько интерфейсов, то Ntop будет считать их единым целым и объединит весь их трафик. Для того, чтобы разбить трафик по интерфейсам, необходимо использовать опцию --no-interface-merge}}
{{Codeline|--no-interface-merge}}  опция разделяет трафик между интерфейсами, при условии, что мониторится несколько штук интерфейсов. Полезно, чтобы оценить к примеру LAN трафик и DMZ трафик.
{{Note|В веб отчёте за раз показывается лишь 1 интерфейс, для переключения на другой можно использовать ссылку '''Switch''' рядом с именем интерфейса или в панели администрированич - '''<nowiki>Admin|Switch NIC</nowiki>'''}}
{{Codeline|--access-log-file}} путь, куда ntop будет записывать логи доступа к своемы встроенному веб серверу. Логи ведуться в стиле апача, добавляется разьве что время в мс}}
{{Codeline|--user}} пользователь от чьего имени будет работать ntop. {{Note|Программа всегда запускается от пользователя '''Root''' для того, чтобы активировать режим promiscuous для каждого интерфейса. После активации этого режима ntop переходит под конкретного пользователя. {{Warning|Никогда не запускайте ntop под root'ом}} }}
{{Codeline|--db-file-path}} путь, где Ntop будет хранить свои базы данных с постоянными и временными записями. {{Note|Если отдельно не задан параметр для хранения файлов БД для временных данных --spool-file-path, то он считается равным --db-file-path, где храниятся постоянные данные.}}
{{Codeline|--http-server}}  Включить или отключить внутренний http сервер. Для его активации достаточно задать порт, который он будет слушать. В моём случае он отключён.
{{Codeline|--https-server}} Включить или отключить внутренний https сервер. Для его активации достаточно задать порт, который он будет слушать. В моём случае он включён и слушает порт 3000.
Ну и так же я опишу 2 параметра, которые у меня закоментированны, т.к. я пользуюсь командой
{{Root|/etc/init.d/ntop start}} для старта Ntop и она автоматом сама их подставляет.
{{Note|точнее их псевдонимы '''-d''' и '''-L'''}}
{{Codeline|--daemon}} Перевод Ntop в режим демона, когда он не связан с консолью. Для успешной односторонней связи с ним необходимо использовать следующий параметр.
{{Codeline|--use-syslog}}  этот параметр задаёт куда будут посылаться сообщения от ntop если он запущен, к примеру, в режиме демона вместо того, чтобы слать их в stdOut.
{{Note|Вообще синтаксис команды следующий - {{Codeline|--use-syslog '''facility'''}} где '''facility''' это средство для ведения системных логов. Если параметр задан без '''facility''', то по умолчанию используется средство, определённое в качестве  LOG_DAEMON, которое определенно в директиве #define в переменной DEFAULT_SYSLOG_FACILITY файла globals-defines.h}}
После настройки Ntop делаем его старт
{{Root|/etc/init.d/ntop start}}
и проверям по адресу {{Codeline|http(s)://IP:PORT}}.
{{Warning|Лично у меня нормально остановить и как следствие рестартануть Ntop не получается. Для того, чтобы его перезапустить я делаю так {{Root|killall ntop}}{{Root|/etc/init.d/ntop stop}} {{Root|/etc/init.d/ntop start}}
Возможно это связанно с моим дистрибутивом, возможно с моей кривостью. Можно наверно попробовать запускать ntop в виде демона в ручную без средств init.d или же к примеру даже не как демона а просто как программe в screen консоли.}}


==Ссылки==
==Ссылки==
* [http://en.wikipedia.org/wiki/List_of_network_protocols сетевые протоколы]
* [http://en.wikipedia.org/wiki/List_of_network_protocols сетевые протоколы]
* [http://www.ntop.org/ оффициальный сайт программы]
* [http://www.ntop.org/ntop-man.html ман по Ntop] - собственно по нему я и делал данную статью. Наверно можно и просто '''man ntop'''.


[[category:Index]]
[[category:Index]]
[[category:Linux]]
[[category:Linux]]

Текущая версия на 08:35, 3 декабря 2009

Ntop - это программа, которая ловит пакеты на уровне net layer2 (к примеру PPP) и net layer3 (к примеру ICMP) и помогает их анализировать, тем самым следя за тем, какие компьютеры окружают вас, что из себя представляют эти хосты, какой поток трафика идёт через них, вас и т.д. Обладая встроенным веб сервером, способным работать как по обычному http, так и по https протоколам, Ntop генерирует отличные отчёты в виде веб страничек. Получается что-то типа упрощённого снифера с представлением данных пользователю в виде веб-отчётов.

Установка в Gentoo

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

Use Flags: ipv6 nls snmp ssl zlib -tcpd (?)

Warning: Причём лично у меня вызвало достаточно много проблем SNMP, так что не знаю нужен ли этот флаг. То ли дело в моей кривости и не верной настройке конфига ntopSnmp.conf, то ли дело в том, что реально присутствует какая-то ошибка в этом плагине для Ntop, которая конфликтует с моей amd64 gentoo box. Лично я подозреваю себя, хотя версия плагина 0.1a не всиляет надежд. Тем немение примерно 1 раз в 10-15 минут у меня падал Ntop с SegFault'ом вида: ntop[20279]: segfault at 0 ip 7f830014a711 sp 42d6dee0 error 4 in libsnmpPlugin-3.2.so[7f8300149000+3000]


Note: При этом мне пришлось пересобрать какие-то пакеты, т.к. установщие Ntop ругался, что не совместим с ними т.к. они скомпилированы без каких-то там флагов. Если не ошибаюсь это был тот же SNMP и ругался он на флаг IPv6. Так что возможно его придётся пересобрать.

После этого можно попробовать запустить Ntop:

/etc/init.d/ntop start

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

rc-update add ntop default
Note: Если надо удалить из автозапуска, то
rc-update del ntop
посмотреть автозапускаемые программы -
rc-update show
для просмотра статуса программы используем
/etc/init.d/ntop status

Далее приступаем к настройке Ntop.

Настройка и разбор некоторых флагов команды

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

Рассмотрим второй вариант. Для этого необходимо открыть на правку файл /etc/conf.d/ntop

nano /etc/conf.d/ntop

У меня его содержимое получилось вот таким:

File: /etc/conf.d/ntop
# Config file for /etc/init.d/ntop

# Set preferred options here
NTOP_OPTS="--output-packet-path /var/lib/ntop/output.packets --local-subnet "192.168.0.0/16" 
--interface "lo,eth0,eth1,ppp0" --no-interface-merge --access-log-file /var/log/ntop.log  
--user ntop --db-file-path /var/lib/ntop --http-server 0 --https-server 3000"
#--daemon --use-syslog

Рассмотрим более подобно, что означает кажда опция.

--output-packet-path путь, где хранится дамп пакетов ntop'а - ntop-suspicious-pkts.XXX.pcap и пакеты normal.

Note: Все указанные сдесь пути должны быть во-первых созданны, а во-вторых они должны иметь права для чтения, записи и выполнения (для директорий) для пользователя ntop из группы root

--local-subnet по умолчанию ntop, считывая маску и ip со всех активных интерфейсов компьютера, считает их локальными. Для отдельного указания подсетей, чей трафик так же будет считаться локальным можно использовать этот параметр. По идее добавлять адреса из диапазона 192.168.0.0/255.255.0.0 большого смысла не имело, но я вставил на всякий случай.

Note: IP и маску можно задать так же и в таком формате - 192.168.1.0/255.255.255.0

--interface - интерфейсы, которые слушает Ntop. По умолчания он слушает первый интерфейс в системе.

Note: Если перечисленно несколько интерфейсов, то Ntop будет считать их единым целым и объединит весь их трафик. Для того, чтобы разбить трафик по интерфейсам, необходимо использовать опцию --no-interface-merge

--no-interface-merge опция разделяет трафик между интерфейсами, при условии, что мониторится несколько штук интерфейсов. Полезно, чтобы оценить к примеру LAN трафик и DMZ трафик.

Note: В веб отчёте за раз показывается лишь 1 интерфейс, для переключения на другой можно использовать ссылку Switch рядом с именем интерфейса или в панели администрированич - Admin|Switch NIC

--access-log-file путь, куда ntop будет записывать логи доступа к своемы встроенному веб серверу. Логи ведуться в стиле апача, добавляется разьве что время в мс}}

--user пользователь от чьего имени будет работать ntop.

Note: Программа всегда запускается от пользователя Root для того, чтобы активировать режим promiscuous для каждого интерфейса. После активации этого режима ntop переходит под конкретного пользователя.
Warning: Никогда не запускайте ntop под root'ом

--db-file-path путь, где Ntop будет хранить свои базы данных с постоянными и временными записями.

Note: Если отдельно не задан параметр для хранения файлов БД для временных данных --spool-file-path, то он считается равным --db-file-path, где храниятся постоянные данные.

--http-server Включить или отключить внутренний http сервер. Для его активации достаточно задать порт, который он будет слушать. В моём случае он отключён. --https-server Включить или отключить внутренний https сервер. Для его активации достаточно задать порт, который он будет слушать. В моём случае он включён и слушает порт 3000.

Ну и так же я опишу 2 параметра, которые у меня закоментированны, т.к. я пользуюсь командой

/etc/init.d/ntop start

для старта Ntop и она автоматом сама их подставляет.

Note: точнее их псевдонимы -d и -L

--daemon Перевод Ntop в режим демона, когда он не связан с консолью. Для успешной односторонней связи с ним необходимо использовать следующий параметр. --use-syslog этот параметр задаёт куда будут посылаться сообщения от ntop если он запущен, к примеру, в режиме демона вместо того, чтобы слать их в stdOut.

Note: Вообще синтаксис команды следующий - --use-syslog facility где facility это средство для ведения системных логов. Если параметр задан без facility, то по умолчанию используется средство, определённое в качестве LOG_DAEMON, которое определенно в директиве #define в переменной DEFAULT_SYSLOG_FACILITY файла globals-defines.h

После настройки Ntop делаем его старт

/etc/init.d/ntop start

и проверям по адресу http(s)://IP:PORT.

Warning: Лично у меня нормально остановить и как следствие рестартануть Ntop не получается. Для того, чтобы его перезапустить я делаю так
killall ntop
/etc/init.d/ntop stop
/etc/init.d/ntop start
Возможно это связанно с моим дистрибутивом, возможно с моей кривостью. Можно наверно попробовать запускать ntop в виде демона в ручную без средств init.d или же к примеру даже не как демона а просто как программe в screen консоли.

Ссылки