2014-09-08 11 views
17

Ogni volta, quando eseguo manualmente tcpdump, devo usare Ctrl + C per fermarlo. Ora voglio programmare il mio tcpdump con cronjob e ho solo bisogno di farlo funzionare per 1 ora e mezza. Senza eseguire manualmente Ctrl + C o il comando kill, come può essere arrestato automaticamente? Ecco il comando sto testando:come pianificare l'esecuzione di tcpdump per un periodo di tempo specifico?

tcpdump -i eth0 'port 8080' -w myfile 

posso programmare un'altra cronjob per uccidere il processo tcpdump, ma non sembra una buona idea.

+0

Entrambe le risposte per tcpdump; una soluzione che funziona per qualsiasi programma (a meno che non giochino con SIGALRM) è il programma sigalarm da http://www.superscript.com/signal/index.html – loreb

risposta

33

È possibile combinare -G {sec} (ruotare i file di immagine ogni x secondi) e -W {count} (limite # di file di dump) per ottenere ciò che si vuole:

tcpdump -G 15 -W 1 -w myfile -i eth0 'port 8080' 

sarebbe correre per 15 secondi e poi fermarsi. Trasforma 1,5 ore in secondi e dovrebbe funzionare.

+0

grazie mille, funziona! – Gary

+0

fantastico !!! :) Grazie –

+15

Nota: questo trucco non funziona se non ricevi traffico. – nibot

11

Si potrebbe fare così:

tcpdump -i eth0 'port 8080' -w myfile & 
pid=$! 
sleep 1.5h 
kill $pid 
+0

anche questo è buono e flessibile! Molte grazie! – Gary

4

L'approccio che ha funzionato meglio per me su Ubuntu 14,04

sudo -i 
crontab -e 

e quindi aggiungere la riga

30 17 * * * /usr/sbin/tcpdump -G 12600 -W 1 -s 3000 -w /home/ubuntu/capture-file.pcap port 5060 or portrange 10000-35000 

Note

  • -G bandiera indicare il numero di secondo per discarica a correre, questo esempio viene eseguito tutti i giorni 17:30-09:00
  • -W è il numero di iterazioni tcpdump eseguirà
  • non verranno aggiunti
  • lavoro Cron fino a quando si salva il file ed uscite
  • Questo esempio è per catturare i pacchetti di un server Asterisk telefono
19

si potrebbe usare timeout

timeout 5400 tcpdump -i eth0 'port 8080' -w myfile 
Problemi correlati