O jnettop é uma ferramenta muito interessante desenvolvida por Jakub Skopal, trata-se de um visualizador de trafego de rede. Com ele é possível acompanhar em tempo real o trafego de entrada e saída de uma interface, saber as portas envolvidas na sessão e conhecer também a banda consumida por cada requisição.
Atualmente o jnettop é suportado por muitas distribuições com pacotes RPM e DEB, mas se sua distribuição não suporta esses pacotes isso não é nenhum empecilho, pois trata-se de um programa muito simples, e mesmo uma pessoa sem experiência em compilação poderá instala-lo.
O nome jnettop tem origem no tradicional comando top usado largamente em vários sistemas unix, este tem como objetivo mostrar em tempo real o comportamento dos processos na maquina, exibindo os recursos consumidos, o tempo de execução e outras informações. O jnet tem origem na primeira letra do nome do autor do código (Jakub) seguida de net, abreviação de network. Em português pode parecer difícil falar jnettop, mas pelo contrário é muito simples, a pronuncia correta é jei-net-top.
Como funciona?
O jnettop trabalha associando o trafego da interface de rede com os endereços IP dos hosts envolvidos nas sessões TCP. Trafego UDP e ICMP também é exibido pelo jnettop.
Para a interface gráfica é usado a biblioteca ncurses, o que dá ao programa uma excelente aparência e usabilidade facilitada.
As versões mais recentes estão trazendo poderosos recursos, um dos mais interessantes é a capacidade de agregação, onde é possível fazer um resumo de todo o tráfego proveniente de um host.
Instalação
Fedora/RedHat
Se você usar uma distribuição baseada em Fedora (Red Hat), o pacote RPM pode ser obtido no seguinte endereço:
http://jnettop.kubs.info/
Execute os seguintes comandos para fazer download e instala-lo:
# wget http://jnettop.kubs.info/dist/jnettop-versao.i386.rpm # rpm -ivh jnettop-versao.i386.rpm
Debian/Ubuntu
Se você usar uma distribuição baseada em Debian, o pacote DEB pode ser obtido no site da distribuição, pois ele é nativamente suportado.
Para instalá-lo é possível usar o apt-get da seguinte forma:
# apt-get install jnettop
Código fonte
Se a sua distribuição não possui o jnettop como pacote pre compilado, é possível compila-lo através do arquivo fonte disponível na URL mencionada acima.
Para fazer download do arquivo e instala-lo faça o seguinte:
# wget http://jnettop.kubs.info/dist/jnettop-versao.tar.gz # tar zxvf jnettop-versao.tar.gz # cd jnettop-versao # ./configure # make # make install
Configuração
O jnettop possui um único arquivo de configuração, é um arquivo oculto e deve ser gravado no diretório home do usuário com o nome .jnettop.
O programa funciona normalmente sem a existência deste arquivo, mas para um funcionamento refinado é interessante que ele seja configurado.
Para não começar a edição de um arquivo sem nehuma referencia, após a instalação do programa, um arquivo de configuração de exemplo é gravado em:
/usr/share/doc/jnettop-versao/.jnettop
Este arquivo deve ter um aspecto semelhante ao que segue:
interface "eth0" variable "intranet" "net 192.168.1.0/24" rule "Arcademy" "host www.arcademy.com.br" rule "Linux" "host www.linux.org" rule "IPv6" "ip6" local_aggregation none remote_aggregation none
Abaixo podemos encontrar uma breve explicação para os parâmetros deste arquivo de configuração.
- interface: Define a interface de rede que será “escutada”
- local_aggregation: Habilita a agregação de trafego local, os estados que podem ser assumidos são: none, host, port.
- remote_aggregation: Habilita a agregação de trafego remoto, os estados que podem ser assumidos são: none, host, port.
- rule: Define uma regra para ser usada como um filtro.
- local_network: Define uma faixa de IPs para os hosts considerados da rede local.
- resolve: Recurso para resolver nomes dos hosts, os valores a serem assumidos são: on, off.
Usando o jnettop
Para iniciar o jnettop, basta digitar o seguinte no prompt de comando.
# jnettop
Uma interface semelhante ao top será exibida. Alguns itens interessantes a serem observados com atenção nesta interface são:
- run: Mostra o tempo que o programa está rodando
- device: Informa o dispositivo de coleta
- pktfilter: Seleciona um filto definido no arquivo de configuração pelo parametro “rule”
- bps: Alterna modo de exibição entre “bits por segundo” e “bytes por segundo”
- local aggr.: Agregação de trafego local, os estados que podem ser assumidos são: “none”, “host”, “port”
- remote aggr.: Agregação de trafego remoto, os estados que podem ser assumidos são: “none”, “host”, “port”
- quit: Sai do jnettop
- help: Mostra uma mensagem de help (na versão usada neste documento o help ainda não havia sido escrito – “I must write something here… :)”)
- sorting: Seleciona a coluna pela qual será ordenada as sessões
- packets: Alterna o modo de exibição entre “pacotes por segundo” ou o modo de exibição anterior
- . pause: Pausa a para analisar os dados, para voltar a coleta deve ser pressionada qualquer tecla.
- 0-9 switch device: Altera o dispositivo de coleta.
Conclusão
O jnettop é uma importante ferramenta para monitorar trafego em pequenas redes, é extremamente útil para encontrar problemas como máquinas que estão gerando tráfego excessívo e etc…
O jnettop está sob licença GNU versão 2, e é um projeto muito recente em termos de software livre, tendo sua primeira versão lançada em 8 novembro de 2002.
Ele ainda possui algumas deficiências, mas o desenvolvedor Jakub Skopal atualiza o programa e o site frequentemente e tem se mostrado uma pessoa muito aberta para sugestões em seu software.