Como registrar o pacote tcp selecionado

0

Estou solucionando um problema em que uma transação TCP longa (> = 60s) desconectava entre minha origem (Ponto A) e destino (Ponto B), enquanto passava por um Gateway Linux interno e vários outros roteadores / switches CISCO em entre.

Para investigar o problema mais detalhadamente, eu precisaria ativar o log TCP e facilitar minha análise de causa raiz. No entanto, tenho muito pouco espaço em disco disponível e não consegui executar esse log pelo tempo que gostaria. Portanto, gostaria de saber se existe uma maneira de habilitar o log TCP somente para pacotes TCP selecionados? Eu precisaria habilitar o log tanto no Gateway quanto nos dispositivos de rede intermediários entre eles.

Especificamente, estou investigando se o Ponto A recebeu um pacote FIN do Ponto B ou de quaisquer outros dispositivos intermediários, o que resultou na desconexão acima mencionada quando uma transação leva mais de 60 segundos para ser concluída.

    
por louis xie 19.10.2012 / 05:53

1 resposta

1

tcpdump é seu amigo. Na página de manual do pcap-filter :

To select the start and end packets (the SYN and FIN packets) of each TCP conversation that involves a non-local host.

tcp[tcpflags] & (tcp-syn|tcp-fin) != 0 and not src and dst net localnet

Portanto, tcpdump -ieth0 filter_expression deve fornecer o que você precisa. Você pode adicionar coisas como and host a.b.c.d and port efg para limitar ainda mais a captura. Você deve ser capaz de usar a mesma expressão de filtro com WireShark se preferir um programa GUI.

    
por 19.10.2012 / 14:53