Contando o número de fluxos em um arquivo tcpdump

1

Eu tenho um arquivo tcpdump grande que preciso analisar para identificar o número de fluxos na captura com base nos pares (ip de origem + porta de origem, ip de destino + porta de destino). O tcpdump / qualquer outra ferramenta fornece algum meio para obter tais dados diretamente? / Alguma dica de como otimizar meu analisador para realizar esta operação? Qualquer ajuda / leads são muito apreciados. Obrigado.

    
por DaTaBomB 24.01.2013 / 02:57

1 resposta

2

Tente algo assim:

tcpdump -r capturefile.dmp | awk '{ print $3 " " $5 "\n" }' | sort | uniq | wc -l

Assumindo que seu tcpdump gere a mesma saída que o meu, o comando awk irá imprimir a porta IP + de origem e a porta IP + de destino (seguidos por dois pontos, o que é irrelevante neste caso), assim:

zangetsu.smcc.loc.56256 scfire-a28.websys.aol.com.http:

Como uma conexão estabelecida usará os mesmos números de porta novamente, você recolhe essas linhas repetidas com sort | uniq ; wc -l conta as linhas. Você terá que dividir esse número por 2, já que o IP é bidirecional e reverte a origem / destino ao enviar pacotes de volta.

Você pode filtrar pacotes indesejados para UDP, ICMP e outros com filtros tcpdump e outras coisas com grep antes da classificação.

    
por 24.01.2013 / 04:23