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!
:)
Shell-Script: Analisar log do tcpdump
8 de Outubro de 2009, 0:00 - Um comentário | Ninguém está seguindo este artigo ainda.
Visualizado 1239 vezes
1Um comentário
tcpdump
simplismente nao existe variavel declarada do caminho do tcpdump e siceramente, a forma que foi escrito poderia ser bem mais simples.
To pelejando aqui pra ver se da pra fazer funcionar.