tcpdump TCP/IP Paket Sniffer

Manchmal benötigt man einen guten Sniffer. Jeder Mac und jedes Linux hat so einen standard mässig dabei. Man muss ihn nur verwenden.

tcpdump

Wie immer auf der Command Line muss man ein paar Flags und Optionen kennen:

  • -i en0 : Zeige die Pakete von diesem Interface.
  • -n : Löse keine Hostnamen auf.
  • -nn : Löse keine Hostnamen und keine Portnamen auf.
  • -X : Zeige den Inhalt sowohl in hex und ASCII.
  • -XX : Wie -X, zeigt aber auch den Ethernet Header.
  • -v, -vv, -vvv : Gibt an wieviel Paket Information angezeigt wird.
  • -c : Zeige n Pakete und halte.
  • -S : Zeige die absoluten Sequenz Nummern.
  • -e : Zeige auch den Ethernet Header.
  • -q : Zeige weniger Protokoll Informationen.
  • -E : Entschlüsselt IPsec Pakete, wenn ein Schlüssel angegeben wird.
  • -s : Setzt snaplength, also die Anzahl Bytes die aufgezeichnet werden.

Beispiel:

Wenn Sie einfach ein paar Pakete auf dem Interface sehen wollen:

tcpdump -ni en0

Wenn Sie umfangreiche Informationen wollen:

tcpdump -i en0 -nnvvvXSs 1514

Natürlich gibt es noch viel mehr Optionen. Sie können den Datenstrom auch in ein File schreiben oder aus einem File lesen.

tcpdump -i en1 -n -w file.pcap

Dieses File können Sie nun direkt mit ⇒Wireshark öffnen. Die Analyse wird so massiv vereinfacht.

Sie können auch Filter setzen, um nur bestimmte Pakete anzuzeigen.

tcpdump -i en1 -nnvvS tcp and src 10.0.5.1 and dst port 5222

Die ⇒<pcap filter expression> sind für alle libpcap basierenden Software Pakete gleich.