Ich versuche, die Ergebnisse von tcpdump in eine Textdatei zu schreiben. Ich möchte keine PCAP-Datei für die spätere Verwendung speichern, sondern brauche nur genau das, was tcpdump im Klartext zurückgibt (die IPs und Zeitstempel der Verbindungen).
Ich habe dies versucht, aber es scheint nicht zu funktionieren:
tcpdump port 5000 and '(tcp-syn)!=0' > network_output.txt
Dieser Befehl sollte in der Textdatei speichern, aber stattdessen gibt er die Ausgabe direkt im Terminal aus, als hätte ich es ausgeschaltet gelassen > network_output.txt
.
Antwort1
Welches Betriebssystem und welche Shell verwenden Sie? (Ihr Befehl funktioniert auf meinem System einwandfrei.)
Versuchen Sie tcpdump port 5000 and '(tcp-syn)!=0' &> network_output.txt
(notice &>
statt >
) und sehen Sie, ob das das gewünschte Ergebnis bringt. Es kombiniert die Standardausgabe mit der Fehlerausgabe in einer Datei. Obwohl es Fehlerausgabe genannt wird, wird dieser zweite Ausgabestrom oft für Ausgaben verwendet, die für ein interaktives Terminal bestimmt sind, wie z. B. Fortschrittsinformationen.
Wenn das nicht funktioniert, versuchen Sie:
script network_output.txt
tcpdump port 5000 and '(tcp-syn)!=0'
dann Strg-C zum Beenden tcpdump
und Strg-D zum Beenden script
. Sie erhalten zusätzlichen Datenmüll in der Datei, aber sie enthält auch die gesamte Terminalausgabe.