Tcpdump grundlagen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Optionenübersicht

Option Beschreibung Beispiel
-i Interface angeben tcpdump -i eth0 -D Verfügbare Interfaces auflisten tcpdump -D -n Keine DNS-Auflösung (schneller) tcpdump -n -s 0 Ganze Pakete erfassen tcpdump -s 0 -c 100 Nach 100 Paketen abbrechen tcpdump -c 100 -w DATEI Mitschnitt speichern tcpdump -w capture.pcap -r DATEI Mitschnitt aus Datei lesen tcpdump -r capture.pcap -A ASCII-Daten anzeigen tcpdump -A port 80 -v / -vv / -vvv Detailtiefe (Verbose) erhöhen tcpdump -vvv -i eth0 -e Ethernet-Header mit anzeigen tcpdump -e -t Zeitstempel unterdrücken tcpdump -t

Filterübersicht (BPF Syntax)

Filterausdruck Beschreibung
host 192.168.1.100 Alle Pakete zu/von Host src host 192.168.1.100 Nur Pakete vom Host dst host 192.168.1.100 Nur Pakete zum Host port 80 Pakete mit Port 80 (TCP/UDP) src port 443 Quellport 443 dst port 22 Zielport 22 net 192.168.1.0/24 Pakete im Subnetz portrange 1000-2000 Portbereich tcp Nur TCP-Verkehr udp Nur UDP-Verkehr icmp Nur ICMP-Verkehr (Ping etc.) and, or, not Logische Filterverknüpfung 'tcp[tcpflags] & tcp-syn != 0' Nur TCP-SYN-Pakete 'ip[8] = 128' Pakete mit TTL = 128

Beispielbefehle für Analyse mit tcpdump

  • Alle Pakete auf eth0 erfassen:
tcpdump -i eth0
  • Verkehr zu/von 192.168.1.100:
tcpdump host 192.168.1.100
  • Nur Verkehr zu Port 443:
tcpdump dst port 443
  • Nur ICMP-Pakete (Ping etc.):
tcpdump icmp
  • Verkehr von Subnetz 192.168.1.0/24:
tcpdump net 192.168.1.0/24
  • Nur TCP-Pakete mit gesetztem SYN-Flag:
tcpdump 'tcp[tcpflags] & tcp-syn != 0'
  • Nur Pakete mit TTL = 128:
tcpdump 'ip[8] = 128'
  • Verkehr von 192.168.1.100 auf Port 80 oder 443:
tcpdump src host 192.168.1.100 and \( port 80 or port 443 \)
  • Verkehr ohne ICMP:
tcpdump not icmp
  • Mitschnitt in Datei schreiben:
tcpdump -i eth0 -s 0 -w traffic.pcap
  • Mitschnitt aus Datei lesen:
tcpdump -r traffic.pcap
  • HTTP-Verkehr sichtbar machen (ASCII):
tcpdump -A port 80
  • Verkehr von/zu MAC-Adresse:
tcpdump ether host 11:22:33:44:55:66
  • Nur Pakete mit gesetztem PSH-Flag:
tcpdump 'tcp[tcpflags] & tcp-push != 0'
  • Pakete mit TCP-ACK:
tcpdump 'tcp[tcpflags] & tcp-ack != 0'
  • TCP-Verkehr mit Sequenznummer 12345678:
tcpdump 'tcp[4:4] = 12345678'
  • TCP-Verkehr mit ACK-Nummer 87654321:
tcpdump 'tcp[8:4] = 87654321'
  • TCP-Quellport im Bereich 1024–65535:
tcpdump 'tcp[0:2] > 1023 and tcp[0:2] < 65536'
  • TCP-Zielport im Bereich 1024–65535:
tcpdump 'tcp[2:2] > 1023 and tcp[2:2] < 65536'