Ntop - установка и настройка в Gentoo: различия между версиями
ALEX (обсуждение | вклад) |
ALEX (обсуждение | вклад) |
||
(не показано 5 промежуточных версий этого же участника) | |||
Строка 4: | Строка 4: | ||
Программа настолько популярная и мощная, что естественно она находится в репозитарии. Для установки сверим {{Codeline|USE}} флаги: | Программа настолько популярная и мощная, что естественно она находится в репозитарии. Для установки сверим {{Codeline|USE}} флаги: | ||
{{USEFlag|extended=yes| {{EnableFlag|ipv6}}{{EnableFlag|nls}}{{EnableFlag|snmp}}{{EnableFlag|ssl}}{{EnableFlag|zlib}}{{DisableFlag|tcpd}}}} | {{USEFlag|extended=yes| {{EnableFlag|ipv6}} {{EnableFlag|nls}} {{EnableFlag|snmp}} {{EnableFlag|ssl}} {{EnableFlag|zlib}} {{DisableFlag|tcpd}}}} | ||
{{ | {{Warning|Причём лично у меня вызвало достаточно много проблем SNMP, так что не знаю нужен ли этот флаг. То ли дело в моей кривости и не верной настройке конфига ntopSnmp.conf, то ли дело в том, что реально присутствует какая-то ошибка в этом плагине для Ntop, которая конфликтует с моей amd64 gentoo box. Лично я подозреваю себя, хотя версия плагина 0.1a не всиляет надежд. Тем немение примерно 1 раз в 10-15 минут у меня падал Ntop с SegFault'ом вида: {{Codeline|<nowiki>ntop[20279]: segfault at 0 ip 7f830014a711 sp 42d6dee0 error 4 in libsnmpPlugin-3.2.so[7f8300149000+3000]</nowiki>}}}} | ||
{{Note|При этом мне пришлось пересобрать какие-то пакеты, т.к. установщие Ntop ругался, что не совместим с ними т.к. они скомпилированы без каких-то там флагов. Если не ошибаюсь это был тот же SNMP и ругался он на флаг IPv6. Так что возможно его придётся пересобрать.}} | |||
После этого можно попробовать запустить Ntop: | |||
{{Root|/etc/init.d/ntop start}} | |||
Для добавления в автозапуск стандартно используем: | |||
{{Root|rc-update add ntop default}} | |||
{{Note| Если надо удалить из автозапуска, то {{Root|rc-update del ntop}} посмотреть автозапускаемые программы - {{Root|rc-update show}} для просмотра статуса программы используем {{Root|/etc/init.d/ntop status}}}} | |||
Далее приступаем к настройке Ntop. | |||
==Настройка и разбор некоторых флагов команды== | ==Настройка и разбор некоторых флагов команды== | ||
Запускать 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 (?)
После этого можно попробовать запустить Ntop:
Для добавления в автозапуск стандартно используем:
Далее приступаем к настройке Ntop.
Настройка и разбор некоторых флагов команды
Запускать ntop можно как просто обычную консольную команду с параметрами, либо через стандартный гентовский механизм.
Рассмотрим второй вариант. Для этого необходимо открыть на правку файл /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.
--local-subnet по умолчанию ntop, считывая маску и ip со всех активных интерфейсов компьютера, считает их локальными. Для отдельного указания подсетей, чей трафик так же будет считаться локальным можно использовать этот параметр. По идее добавлять адреса из диапазона 192.168.0.0/255.255.0.0 большого смысла не имело, но я вставил на всякий случай.
--interface - интерфейсы, которые слушает Ntop. По умолчания он слушает первый интерфейс в системе.
--no-interface-merge опция разделяет трафик между интерфейсами, при условии, что мониторится несколько штук интерфейсов. Полезно, чтобы оценить к примеру LAN трафик и DMZ трафик.
--access-log-file путь, куда ntop будет записывать логи доступа к своемы встроенному веб серверу. Логи ведуться в стиле апача, добавляется разьве что время в мс}}
--user пользователь от чьего имени будет работать ntop.
--db-file-path путь, где Ntop будет хранить свои базы данных с постоянными и временными записями.
--http-server Включить или отключить внутренний http сервер. Для его активации достаточно задать порт, который он будет слушать. В моём случае он отключён. --https-server Включить или отключить внутренний https сервер. Для его активации достаточно задать порт, который он будет слушать. В моём случае он включён и слушает порт 3000.
Ну и так же я опишу 2 параметра, которые у меня закоментированны, т.к. я пользуюсь командой
для старта Ntop и она автоматом сама их подставляет.
--daemon Перевод Ntop в режим демона, когда он не связан с консолью. Для успешной односторонней связи с ним необходимо использовать следующий параметр. --use-syslog этот параметр задаёт куда будут посылаться сообщения от ntop если он запущен, к примеру, в режиме демона вместо того, чтобы слать их в stdOut.
После настройки Ntop делаем его старт
и проверям по адресу http(s)://IP:PORT.
Ссылки
- сетевые протоколы
- оффициальный сайт программы
- ман по Ntop - собственно по нему я и делал данную статью. Наверно можно и просто man ntop.