Monitorando a rede com jnettop

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.

Rolar para cima