Como exibir todos os dados usando o tcpdump?

0

Estou capturando o tráfego de rede usando tcpdump . O problema é que não consigo ver todos os dados de captura quando o pacote é muito longo. Por exemplo, quando o comprimento do quadro tcp é maior que 500, vejo apenas 100-200 ou menos. Como exibir todos os dados do quadro (500+)? Eu tentei adicionar o parâmetro -vv e -vvv . Este é o meu comando:

tcpdump -i eth1 tcp and host 10.27.13.14 and port 6973 -vv -X -c 1000
    
por Dolphin 13.07.2016 / 05:58

1 resposta

2

Você pode usar o sinalizador -s snaplen para especificar o tamanho de cada pacote.

-s 0 define o tamanho padrão do pacote como 65535 bytes, o que aumenta o tempo de processamento dos pacotes e diminui a quantidade de buffer de pacotes, de acordo com a página do manual. Embora isso possa funcionar aqui, pode não ser apropriado em outros casos, pois pode causar perda de pacotes.

Uma prática melhor seria definir o sinalizador snaplen como o menor valor necessário para capturar o que é necessário. Outra resposta sugere 1500 bytes para ver o pacote inteiro e 160 bytes se você estiver interessado apenas em os cabeçalhos.

Assim, enquanto -s 0 pode funcionar aqui, para uso futuro, seria melhor começar com -s 1500 e ajustar conforme necessário.

De man tcpdump :

Note that taking larger snap-shots both increases the amount of time it takes to process packets and, effectively, decreases the amount of packet buffering. This may cause packets to be lost. You should limit snaplen to the smallest number that will capture the protocol information you're interested in. Setting snaplen to 0 sets it to the default of 65535, for backwards compatibility with recent older versions of tcpdump.

    
por 13.07.2016 / 16:25

Tags