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.437 Categoria: Shell Script Subcategoria: Avançado
  • Download
  • Nova versão
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Backup para CD-R/RW e DVD+/- R/RW

SSH manager

mountcp.sh

Backup de vários servidores, diferenciado a rotina pela aplicação

Backup Automatizado (atualizado)

#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.