Como capturar os últimos N segundos de pacotes usando o tcpdump

12

Como posso capturar os últimos N segundos de pacotes usando o tcpdump?

    
por Flimzy 15.06.2011 / 13:44

6 respostas

13

Se você quiser apenas que o tcpdump seja executado por n segundos e, em seguida, saia, você pode usar o tempo limite.

Por exemplo:

timeout 2 tcpdump -eni mon0

Caso contrário, não acredito que o tcpdump tenha uma opção para fazer isso.

    
por 29.08.2013 / 00:03
3

Acho que a melhor maneira de fazer isso é com o sinalizador -G do tcpdump, que, quando usado com -w, salvará seu despejo em um novo arquivo a cada N segundos. Por exemplo:

tcpdump -w outfile-% s -G 10

Isso criará um novo arquivo com o nome de 'outfile-XXXX' (onde XXXX representa o número de segundos desde a época) a cada 10 segundos.

Veja as man pages de tcpdump (8) e strftime (3) para detalhes adicionais.

    
por 16.06.2011 / 00:16
0

tcpdump options -w new.tcpdump

ps -ef |grep tcpdump

anote o PID, digamos que seja 11193

at 11:00 kill 11193

agora é só esperar até as 11:00 e sua captura será eliminada, mas salva

    
por 13.03.2015 / 18:07
0

Eu estava tentando resolver o mesmo problema, Eu escrevi um script portátil para executar o tcpdump por n segundos.

#tcpdump_for_n_sec.sh
n=$1
shift #remove first arg from $@ 
tcpdump $@ & x=$!
sleep $n
kill $x

Uso ./tcpdump_for_n_sec.sh seg args para tcpdump

./tcpdump_for_n_sec.sh 5 i- any not port 22 -s0 -wfile.pcap
    
por 21.10.2016 / 19:29
0

sudo tcpdump -i -w & isso vai rodar o tcpdump no modo de dormir

  • w: salva a saída no arquivo .pcap O processo do & tcpdump será executado no modo de espera observação: verifique se você tem espaço suficiente disponível se quiser. para executá-lo por um tempo. Não interromperá se terminar com o logoff até você matar o processo.
por 16.03.2018 / 17:36
-1

Você pode usar o tethereal em vez do tcpdump. Você pode usar esta opção de linha de comando:

-a duration:X
    
por 17.12.2014 / 16:44

Tags