Analisar log do tcpdump
Publicado por Perfil removido (última atualização em 08/10/2009)
[ Hits: 20.970 ]
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!
:)
Gerar arquivos CSV no postgresql
Busca de arquivos nas ports FreeBSD
Ispeed - Medidor de velocidade de download
Find em arquivos compactados (grep em arquivos tgz)
Backup-Script2.0 -- Modo Gráfico sem precisar de X
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
SysAdmin ou DevOps: Qual curso inicial pra essa área? (0)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código (3)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta