Tcpdump grundlagen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 1: | Zeile 1: | ||
| + | =Optionenübersicht= | ||
| − | + | {| class="wikitable" | |
| − | + | ! 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)= |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | {| class="wikitable" | |
| − | + | ! 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 | + | 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' | ||
Version vom 10. Mai 2025, 08:30 Uhr
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'