ntopng é a próxima geração do ntop, um analizador de tráfego de rede que mostra o uso, semelhante ao que o comando top faz no Unix. ntop é baseado na biblioteca libpcap e tem sido escrito de uma forma portátil para executar virtualmente em todas as plataformas Unix, MacOSX, GNU/Linux, e no Windows também.
Usuários do ntopng podem usar um Browser para navegar através ntop (que atua como um servidor web) de informações de trânsito e obter um dump do estado da rede. Atualmente o ntopng provê uma:
- Uma interface web.
- Configuração limitada e administração via interface web.
- Uso reduzido de CPU e memória (que variam de acordo com o tamanho da rede e tráfego).
Vamos preparar nosso ambiente Instalando os seguintes pacotes:
# apt-get install libpcap-dev libglib2.0-dev libgeoip-dev redis-server wget libxml2-dev build-essential checkinstall
A utilização do checkinstall tem por objetivo facilitar atualizações e a remoção do ntopng.
Criar diretório para o nosso projeto
# mkdir /usr/local/src
# cd /usr/local/src
Download dos arquivos
# wget “http://downloads.sourceforge.net/project/ntop/ntopng/ntopng-data-1.1_6932.tgz” -O ntopng-data-1.1.tar.gz
# wget “http://downloads.sourceforge.net/project/ntop/ntopng/ntopng-1.1_6932.tgz” -O ntopng-1.1.tar.gz
o ntopng-data contém dados para geolocalização então vamos extrair o conteúdo e copiar para o diretório /usr
# tar -xzf ntopng-data-1.1.tar.gz
# cd ntopng-data-1.1_6932
# cp -r ./usr/* /usr
# cd ..
Vamos descompactar, configurar e compilar o ntopng.
# tar -xzf ntopng-1.1.tar.gz
# cd ntopng-1.1_6932
Configurar antes da compilação
# ./configure
# make clean
Antes de iniciarmos a compilação propriamente dita vamos limpar no diretório third-party restos de compilações anteriores, que acredito tenham sido deixadas por engano.
# cd third-party
# cd json-c/
# make clean
# cd ..
# cd LuaJIT-2.0.2/
# make clean
# cd ..
# cd rrdtool-1.4.7/
# make clean
# cd ..
# cd zeromq-3.2.3/
# make clean
# cd ..
# cd credis-0.2.3/
# make clean
# cd ../../
E finalmente a compilação
# make
Vamos criar um pacote .deb para facilitar a instalação, atualização e remoção do ntop com o checkinstall
# checkinstall
checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran Este software está disponibilizado sob a GNU GPL. The package documentation directory ./doc-pak does not exist. Should I create a default set of package docs? [y]: Preparando a documentação do pacote...OK Por favor, escreva uma descrição para o pacote. Termine sua descrição com uma linha vazia ou EOF. >> Ntopng e a nova versão do original ntop >> ***************************************** **** Debian package creation selected *** ***************************************** *** Warning: The package version "1.1_6932" is not a *** Warning: debian policy compliant one. Please specify an alternate one 1.1-6932 Este pacote será construido usando estes valores: 0 - Maintainer: [ root@ntopng ] 1 - Summary: [ Ntopng e a nova versão do original ntop ] 2 - Name: [ ntopng ] 3 - Version: [ 1.1-6932 ] 4 - Release: [ 1 ] 5 - License: [ GPL ] 6 - Group: [ checkinstall ] 7 - Architecture: [ amd64 ] 8 - Source location: [ ntopng-1.1_6932 ] 9 - Alternate source location: [ ] 10 - Requires: [ ] 11 - Provides: [ ntopng ] 12 - Conflicts: [ ] 13 - Replaces: [ ] Entre com o número para alterar um dos itens ou pressione ENTER para continuar:
Pacote gerado, vamos a instalação do mesmo.
# dpkg -i ntopng_1.1-6932-1_amd64.deb
Vamos criar o diretório e o arquivo de configuração
# mkdir /etc/ntopng
# vi /etc/ntopng/ntopng.conf
-e --user=root --local-networks="192.168.1.0/24,10.1.1.0/24" --interface=1 -G=/var/run/ntopng.pid
Obs.: Para obter o índice das interfaces digite o comando ntopng -h.
Criar o Script de inicialização do ntopng (Debian 7/Ubuntu 12.04,13.10, 14.04)
# vi /etc/init.d/ntopng
#!/bin/bash ### BEGIN INIT INFO # Provides: ntopng # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Inicia o ntopng ### END INIT INFO # # Start/stops o daemon do ntopng (ntop). # NTOPNGPID=/var/run/ntopng.pid # Verifica se o daemon e arquivo de configuração existem test -x /usr/local/bin/ntopng -a -r /etc/ntopng/ntopng.conf || exit 1 . /lib/lsb/init-functions case "$1" in start) log_daemon_msg "Iniciando o daemon do ntopng" "ntopng" if ! start-stop-daemon --start --quiet --oknodo --exec /usr/local/bin/ntopng -- /etc/ntopng/ntopng.conf ; then log_end_msg 1 exit 1 fi log_end_msg 0 ;; stop) log_daemon_msg "Parando o daemon do ntopng" "ntopng" start-stop-daemon --stop --quiet --name ntopng $NTOPNGPID # Aguarda por um instante e remove o arquivo com o PID sleep 1 if [ -f $NTOPNGPID ] && ! ps h `cat $NTOPNGPID` > /dev/null then rm -f $NTOPNGPID fi log_end_msg 0 ;; restart|force-reload) $0 stop sleep 1 $0 start ;; *) echo "Uso: /etc/init.d/ntopng {start|stop|restart|force-reload}" exit 1 ;; esac exit 0
ou faça o download do script no link a seguir – ntopng.tar.gz
Dê permissão de execução para o script
# chmod +x /etc/init.d/ntopng
Agora precisamos que o script inicie nos níveis de execução 2345 e pare em 016.
UBUNTU
# update-rc.d ntopng start 50 2 3 4 5 . stop 50 0 1 6 .
DEBIAN
# update-rc.d ntopng defaults
Vamos reiniciar o redis
# /etc/init.d/redis-server restart
Agora abra seu navegador preferido no endereço, http://IP_DO_NETOPNG:3000 para acesso ao dashboard, o usuário e senha inicial são admin/admin.
Algumas telas do ntopng
Espero que tenham gostado do Post, deixem seus comentários logo abaixo e não deixem de assinar o nosso Portal.
Olá, primeiro gostaria de dar os parabéns pelo excelente post!
Fiz o seu passo a passo e deu quase tudo certo, só fiquei em duvida em um ponto; Tenho duas interfaces, WAN eth0 192.168.1.20/24 e LAN eth1 192.168.0.15 e meu comando ntopng -h retornou:
Available interfaces (-i ):
1. eth0
2. nflog
3. nfqueue
4. eth1
5. any
6. lo
ficando minha configuração /etc/ntopng/ntopng.conf:
-e
–user=root
–local-networks=”192.168.1.20/24,192.168.0.15/24″
–interface=4
-G=/var/run/ntopng.pid
Quando coloco o endereço: http://192.168.0.15:3000/
Não consigo abrir a página de configuração.
Pergunto, como resolvo esse erro?
Agradeço a ajuda!
Wanderton,
Obrigado, quanto a configuração fique atento quanto aos parâmetros com uma única letra levam apenas um “-” e outros com palavras levam 2 “–” você também pode incluir outra linha –interface=1 e ter as duas disponíveis no NtopNG.
Verifique se o ntopng esta rodando na porta 3000 com o comando netstat -natp
Espero que resolve
Abraços
Bom dia amigo. Instalei sem problema porém, gostaria de mais detalhes na navegação dos usuários e como armazenar o histório de navegação para poder imprimir posteriormente. Poderia me ajudar? Obrigado
É só dar o comando “/etc/init.d/ntopng restart”.
Espero que ajude.
/etc/ntopng/ntopng.conf:
-e
–user=root
–local-networks=”192.168.1.20/24,192.168.0.15/24″
–interface=1
–interface=4
-G=/var/run/ntopng.pid
Olá amigo, obrigado pelo tutorial.
Tenho um Ntop aqui, versão 2.3.1. Não me lembro como foi instalado. Mas a dúvida é que a interface eth0 só faz análise do tráfego local. Como posso fazer para o Ntop realizar analise de todo o tráfego que passa pelo gateway de internet? É possível?
Opa preciso de uma ajuda no antigo ntop, podiamos eleger os protocolos/Portas a serem monitoradas, como faço isso no notpng?