Pular para o conteúdo

Analisar log do tcpdump

De onde surgiu a motivação para escrevê-lo...

Antes utilizava o bandwidthd na bridge para analisar o tráfego de rede: consumo de banda por IP etc.

Como a rede que administro não é pequena, pois tem aproximadamente uns 800 computadores, minha bridge parava de funcionar (o PC travava) às vezes devido ao grande consumo de memória RAM por parte do bandwidthd, então resolvi salvar um log do tráfego de rede utilizando o tcpdump (que é muito muito mais leve que o bandwidth) e escrever este script para analisá-lo. Desde então venho utilizando este script em conjunto com outros para fazer a análise do tráfego de rede.

Escrevi este script a um tempo, fiz a última atualização em agosto de 2009.

Dentre as principais funções deste script estão:

- Calcular a velocidade do tráfego de uma rede ou IP
- Determinar a quantidade de pacotes por protocolo
- Calcular a quantidade de banda utilizada por um IP ou rede

##+
Para gerar um log que POSSA que o script seja capaz de ler, utilize (onde: eth0 = sua interface de rede):

# tcpdump -i eth0 -qntt -s0 >trafego.tcpdump.log
ou
# tcpdump -i eth0 -qntt -s0 -c50000 >trafego.tcpdump.log

para que o tcpdump pare de gerar o log após capturar 50000 pacotes.

É bom utilizar o -S0 para que o tcpdump capture os pacotes de "todos" os tamanhos sem "excluir" pacotes.

##+
Exemplos de uso do script:

Calcular a velocidade detalhada do trafego proveniente de IPorigem destinado à IPdestino:

# ntw.sh -spy -lt trafego.tcpdump.log -s IPorigem -d IPdestino -vd

Onde: x = numero e IPorigem/IPdestino podem ser: xx.xx.xx.xx, xx.xx.xx.0, xx.xx.0.0, xx.0.0.0, 0.0.0.0.

Caso IPorigem = 192.168.1.1 e IPdestino = 10.10.1.0: O script vai calcular a velocidade para o trafego proveniente do IP 192.168.1.1 que é destinado à 10.10.1.0. Lembrando que o 10.10.1.0 é uma "rede" de 10 IPs: 10.10.1.1, 10.10.1.2, 10.10.1.3, ... ,10.10.1.9, 10.10.1.10.

Outro exemplo:

Calcular a velocidade do tráfego proveniente de qualquer IPorigem destinado ao IPdestino = 192.168.12.12. Em outras palavras, a velocidade de download do IPdestino.

# ntw.sh -spy -lt trafego.tcpdump.log -s 0.0.0.0 -d 192.168.12.12 -vd
ou
# ntw.sh -spy -lt trafego.tcpdump.log -d 192.168.12.12 -vd

##+
Não esqueça de configurar adequadamente o arquivo de configuração (conf.d) deste script e de verificar se possui todos os pacotes necessários para utilizá-lo, talvez precise instalar alguns...

Espero que seja útil!
:)
Perfil removido removido
Hits: 21.440 Categoria: Shell Script Subcategoria: Avançado
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

De onde surgiu a motivação para escrevê-lo...

Antes utilizava o bandwidthd na bridge para analisar o tráfego de rede: consumo de banda por IP etc.

Como a rede que administro não é pequena, pois tem aproximadamente uns 800 computadores, minha bridge parava de funcionar (o PC travava) às vezes devido ao grande consumo de memória RAM por parte do bandwidthd, então resolvi salvar um log do tráfego de rede utilizando o tcpdump (que é muito muito mais leve que o bandwidth) e escrever este script para analisá-lo. Desde então venho utilizando este script em conjunto com outros para fazer a análise do tráfego de rede.

Escrevi este script a um tempo, fiz a última atualização em agosto de 2009.

Dentre as principais funções deste script estão:

- Calcular a velocidade do tráfego de uma rede ou IP
- Determinar a quantidade de pacotes por protocolo
- Calcular a quantidade de banda utilizada por um IP ou rede

##+
Para gerar um log que POSSA que o script seja capaz de ler, utilize (onde: eth0 = sua interface de rede):

# tcpdump -i eth0 -qntt -s0 >trafego.tcpdump.log
ou
# tcpdump -i eth0 -qntt -s0 -c50000 >trafego.tcpdump.log

para que o tcpdump pare de gerar o log após capturar 50000 pacotes.

É bom utilizar o -S0 para que o tcpdump capture os pacotes de "todos" os tamanhos sem "excluir" pacotes.

##+
Exemplos de uso do script:

Calcular a velocidade detalhada do trafego proveniente de IPorigem destinado à IPdestino:

# ntw.sh -spy -lt trafego.tcpdump.log -s IPorigem -d IPdestino -vd

Onde: x = numero e IPorigem/IPdestino podem ser: xx.xx.xx.xx, xx.xx.xx.0, xx.xx.0.0, xx.0.0.0, 0.0.0.0.

Caso IPorigem = 192.168.1.1 e IPdestino = 10.10.1.0: O script vai calcular a velocidade para o trafego proveniente do IP 192.168.1.1 que é destinado à 10.10.1.0. Lembrando que o 10.10.1.0 é uma "rede" de 10 IPs: 10.10.1.1, 10.10.1.2, 10.10.1.3, ... ,10.10.1.9, 10.10.1.10.

Outro exemplo:

Calcular a velocidade do tráfego proveniente de qualquer IPorigem destinado ao IPdestino = 192.168.12.12. Em outras palavras, a velocidade de download do IPdestino.

# ntw.sh -spy -lt trafego.tcpdump.log -s 0.0.0.0 -d 192.168.12.12 -vd
ou
# ntw.sh -spy -lt trafego.tcpdump.log -d 192.168.12.12 -vd

##+
Não esqueça de configurar adequadamente o arquivo de configuração (conf.d) deste script e de verificar se possui todos os pacotes necessários para utilizá-lo, talvez precise instalar alguns...

Espero que seja útil!
:)
Download info_trafego.tar.gz Enviar nova versão

Network_test

Administração servidor WEB com Dialog

Claro 3g Sony Ericsson md300 script conexao

Limitador de conexões para usuários

Atualizador de Sources.list

#1 Comentário enviado por removido em 09/10/2009 - 15:56h
Na parte do texto acima onde diz:

# tcpdump -i eth0 -qntt -s0 > trafego.tcpdump.log
(este é o texto corrigido)
# tcpdump -i eth0 -qntt -s0 -c50000 > trafego.tcpdump.log

Devido a um erro de formatação o ">" ficou ">".
peço desculpas.

Contribuir com comentário

Entre na sua conta para comentar.