Voglio che tcpdump scriva i dati del pacchetto grezzo in un file e visualizzi l'analisi dei pacchetti nell'output standard quando i pacchetti vengono catturati (per analisi intendo le linee che visualizza normalmente quando manca -w). Qualcuno può dirmi come si fa?Come è possibile che tcpdump scriva sul file e lo standard output i dati appropriati?
35
A
risposta
69
Ecco un modo pulito di fare ciò che si vuole:
tcpdump -w - | tee somefile | tcpdump -r -
Cosa fa:
-w -
dicetcpdump
per scrivere i dati binaristdout
tee
scrive che i dati binari ad un file AND a proprio-r -
dice al secondotcpdump
per ottenere i suoi dati dal suostdin
-1
tcpdump ${ARGS} &
PID=$!
tcpdump ${ARGS} -w ${filename}
kill $PID
Problemi correlati
- 1. È possibile che un'estensione di Chrome scriva in un file nella directory di sistema di Chrome?
- 2. tcpdump vs tcpflow (o "perché non è tcpdump i dati del pacchetto ASCII leggibili dall'uomo?")
- 3. RxJava Android - Carica-cache-mostra i dati sui thread appropriati
- 4. Come concatenare due file tcpdump (file pcap)
- 5. Nait Git setup, è possibile estrarre i file che sono elencati sul mio .gitignore?
- 6. È possibile eseguire valgrind sul simulatore e sul dispositivo iOS?
- 7. È possibile proteggere i file SWF?
- 8. Come reindirizzare input e output standard con Bash
- 9. Che cosa consente lo standard #pragma?
- 10. cout (output standard) in C++
- 11. Come ottimizzare l'applicazione Play Framework con i threadpool appropriati?
- 12. Utilizzando PySerial è possibile attendere i dati?
- 13. È possibile associare i dati a un controllo TreeView?
- 14. È possibile che la bussola unisca i file .css?
- 15. E 'possibile git-diff un file contro l'input standard?
- 16. Come eseguire lo streaming di output AJAX per il download di un file in Javascript?
- 17. È possibile ingrandire e rimpicciolire lo zoom?
- 18. Come modificare e salvare i dati di ViewModels sul database
- 19. È possibile bloccare il file sqlite sul filesystem NFS?
- 20. output standard rediretto su file mostra differenti da reale
- 21. Delphi standard pagina Codice Input Output
- 22. Getting stdout da un sottoprocesso tcpdump dopo aver terminato lo
- 23. Unità standard di input e output in Fortran 90?
- 24. È possibile utilizzare i reindirizzamenti di output da un file cmd utilizzando start?
- 25. Come funziona il metodo sleep() sul dato thread e output?
- 26. Come posso abilitare la registrazione WCF in modo che scriva su un database?
- 27. È possibile ottenere un output migliore per `goog.debug.Logger` (come` console.log`)?
- 28. Come verificare se il file è un file binario e leggere tutti i file che non lo sono?
- 29. È possibile eseguire jQuery sul lato server?
- 30. Qt output standard. cout does not print
Utilizzando questa tecnica, WireShark è lamentato di alcuni dei file sostenendo che l'ultimo pacchetto è incompleta. Suppongo che tcpdump si annulli e scriva tutti i dati prima di terminare, ma, in caso contrario, l'opzione -U potrebbe essere utile qui. Dalla pagina man: 'Usa il flag -U per far sì che i pacchetti vengano scritti non appena vengono ricevuti. (cercando di non perdere alcun pacchetto bufferizzato/ancora non scritto su file quando tcpdump viene ucciso). Non ho ancora avuto un cambiamento per confermarlo. – maganap
Perché non può essere 'tcpdump host | tee/tmp/output'. Ciò evita un secondo tcpdump che si sta utilizzando alla fine. Destra ? –
deppfx
@deppfx Funzionerebbe, a costo di salvare solo il testo. '-w' causa' tcpdump' per scrivere i dati nel formato binario standard. – cnicutar