Tcpdump Aufgaben: Unterschied zwischen den Versionen
| Zeile 1: | Zeile 1: | ||
| − | = | + | =Übungen: tcpdump mit aktivem Netzwerkverkehr (20 Aufgaben)= |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | == | + | ==Ziel== |
| − | + | * Netzwerkverkehr gezielt analysieren mit tcpdump | |
| + | * Typische Probleme sichtbar machen (Erreichbarkeit, Dienste, Ports, DNS) | ||
| + | * Hinweis: Zwei Terminals erforderlich (1× tcpdump, 1× Traffic-Erzeugung) | ||
| − | + | =Aufgabe 1: Verfügbare Interfaces anzeigen= | |
| + | '''Warum?''' → Um zu wissen, auf welchem Interface tcpdump überhaupt Pakete mitschneiden kann. | ||
| + | ;Terminal 1: | ||
| + | *tcpdump -D | ||
| − | + | =Aufgabe 2: Einfacher Ping-Mitschnitt= | |
| − | + | '''Warum?''' → Einstieg: Sicht auf ICMP-Pakete und erste Funktionsprüfung. | |
| − | + | ;Terminal 1: | |
| − | + | *tcpdump -i eth0 | |
| − | + | ;Terminal 2: | |
| − | + | *ping -c 3 8.8.8.8 | |
| − | + | =Aufgabe 3: Verkehr zu bestimmtem Host= | |
| + | '''Warum?''' → Hilfreich bei der Analyse: Wird ein bestimmter Server kontaktiert? | ||
| + | ;Terminal 1: | ||
| + | *tcpdump -i eth0 host 10.0.10.104 | ||
| + | ;Terminal 2: | ||
| + | *ping -c 3 10.0.10.104 | ||
| − | + | =Aufgabe 4: Nur ICMP anzeigen= | |
| + | '''Warum?''' → Eingrenzen: Nur „ping“-Verkehr sichtbar machen. | ||
| + | ;Terminal 1: | ||
| + | *tcpdump -i eth0 icmp | ||
| + | ;Terminal 2: | ||
| + | *ping -c 2 10.0.10.104 | ||
| − | + | =Aufgabe 5: DNS-Abfragen anzeigen= | |
| + | '''Warum?''' → Prüfen, ob Namensauflösung funktioniert. | ||
| + | ;Terminal 1: | ||
| + | *tcpdump -i eth0 port 53 | ||
| + | ;Terminal 2: | ||
| + | *dig example.org | ||
| − | == | + | =Aufgabe 6: DNS in Datei mitschneiden= |
| − | + | '''Warum?''' → Reproduzierbar analysieren mit Wireshark oder erneut mit tcpdump. | |
| + | ;Terminal 1: | ||
| + | *tcpdump -i eth0 port 53 -w dns.pcap | ||
| + | ;Terminal 2: | ||
| + | *dig xinux.net | ||
| − | === Aufgabe | + | =Aufgabe 7: DNS-Mitschnitt anzeigen= |
| + | '''Warum?''' → Analyse offline aus Datei. | ||
| + | ;Terminal 1: | ||
| + | *tcpdump -r dns.pcap | ||
| + | |||
| + | =Aufgabe 8: HTTP-Zugriff sichtbar machen= | ||
| + | '''Warum?''' → Prüfen, ob ein Webserver antwortet. | ||
| + | ;Terminal 1: | ||
| + | *tcpdump -i lo tcp port 80 | ||
| + | ;Terminal 2: | ||
| + | *curl http://localhost | ||
| + | |||
| + | =Aufgabe 9: HTTP-Header und Daten mitlesen= | ||
| + | '''Warum?''' → Sicherheitsaspekt: HTTP überträgt Daten im Klartext. | ||
| + | ;Terminal 1: | ||
| + | *tcpdump -i eth0 -A port 80 | ||
| + | ;Terminal 2: | ||
| + | *curl http://10.0.10.104 | ||
| + | |||
| + | =Aufgabe 10: Nur TCP-SYN anzeigen= | ||
| + | '''Warum?''' → Verbindungsaufbau erkennen, z. B. für Portscan-Erkennung. | ||
| + | ;Terminal 1: | ||
| + | *tcpdump 'tcp[13] & 2 != 0 and tcp[13] & 16 == 0' | ||
| + | ;Terminal 2: | ||
| + | *nc -zv 10.0.10.104 80 | ||
| + | |||
| + | =Aufgabe 11: Verbindungen zu Port 22 beobachten= | ||
| + | '''Warum?''' → Wird SSH angesprochen? | ||
| + | ;Terminal 1: | ||
| + | *tcpdump -i eth0 port 22 | ||
| + | ;Terminal 2: | ||
| + | *ssh user@10.0.10.104 | ||
| + | |||
| + | =Aufgabe 12: Nur eingehende Pakete auf Port 22 anzeigen= | ||
| + | '''Warum?''' → Nur Traffic mit Ziel „lokaler SSH-Dienst“ anzeigen. | ||
| + | ;Terminal 1: | ||
| + | *tcpdump -i eth0 dst port 22 | ||
| + | ;Terminal 2: | ||
| + | *ssh user@10.0.10.104 | ||
| + | |||
| + | =Aufgabe 13: HTTPs nicht lesbar – trotzdem sichtbar= | ||
| + | '''Warum?''' → Auch wenn TLS verschlüsselt: SNI, Zielhost und Port bleiben sichtbar. | ||
| + | ;Terminal 1: | ||
| + | *tcpdump -i eth0 port 443 | ||
| + | ;Terminal 2: | ||
| + | *curl https://10.0.10.104 | ||
| + | |||
| + | =Aufgabe 14: ICMPv6 anzeigen= | ||
| + | '''Warum?''' → IPv6 Neighbor Discovery & Ping6 nachvollziehen. | ||
| + | ;Terminal 1: | ||
| + | *tcpdump -i eth0 icmp6 | ||
| + | ;Terminal 2: | ||
| + | *ping6 -c 2 ipv6.google.com | ||
| + | |||
| + | =Aufgabe 15: ARP-Verkehr analysieren= | ||
| + | '''Warum?''' → ARP-Probleme erkennen (z. B. bei IP-Konflikten). | ||
| + | ;Terminal 1: | ||
| + | *tcpdump -i eth0 arp | ||
| + | ;Terminal 2: | ||
| + | *arping 10.0.10.104 | ||
| + | |||
| + | =Aufgabe 16: Broadcast-Traffic sehen= | ||
| + | '''Warum?''' → Prüfen, ob Broadcasts vorhanden sind (z. B. DHCP, ARP). | ||
| + | ;Terminal 1: | ||
| + | *tcpdump -i eth0 broadcast | ||
| + | ;Terminal 2: | ||
| + | *dhclient -v eth0 | ||
| + | |||
| + | =Aufgabe 17: Nur HTTP GET anzeigen= | ||
| + | '''Warum?''' → Spezifisch HTTP-Methoden im Klartext sehen (sofern HTTP). | ||
| + | ;Terminal 1: | ||
| + | *tcpdump -i eth0 -A port 80 | grep "GET" | ||
| + | ;Terminal 2: | ||
| + | *curl http://10.0.10.104 | ||
| + | |||
| + | =Aufgabe 18: TCP und UDP parallel beobachten= | ||
| + | '''Warum?''' → Beide Transportprotokolle gleichzeitig prüfen. | ||
| + | ;Terminal 1: | ||
| + | *tcpdump -i eth0 tcp or udp | ||
| + | ;Terminal 2: | ||
| + | *curl http://10.0.10.104 && dig xinux.net | ||
| + | |||
| + | =Aufgabe 19: Pakete zählen statt anzeigen= | ||
| + | '''Warum?''' → Übersicht: Wie viele Pakete treffen einen bestimmten Filter? | ||
| + | ;Terminal 1: | ||
| + | *tcpdump -i eth0 -c 10 port 80 | ||
| + | ;Terminal 2: | ||
| + | *for i in {1..10}; do curl -s http://10.0.10.104 > /dev/null; done | ||
| + | |||
| + | =Aufgabe 20: Verkehr nur von bestimmtem Port= | ||
| + | '''Warum?''' → Beispiel: Nur ausgehender Traffic von lokalem Port 12345. | ||
| + | ;Terminal 1: | ||
| + | *tcpdump -i eth0 src port 12345 | ||
| + | ;Terminal 2: | ||
| + | *nc -p 12345 10.0.10.104 80 | ||
Version vom 10. Mai 2025, 08:06 Uhr
Übungen: tcpdump mit aktivem Netzwerkverkehr (20 Aufgaben)
Ziel
- Netzwerkverkehr gezielt analysieren mit tcpdump
- Typische Probleme sichtbar machen (Erreichbarkeit, Dienste, Ports, DNS)
- Hinweis: Zwei Terminals erforderlich (1× tcpdump, 1× Traffic-Erzeugung)
Aufgabe 1: Verfügbare Interfaces anzeigen
Warum? → Um zu wissen, auf welchem Interface tcpdump überhaupt Pakete mitschneiden kann.
- Terminal 1
- tcpdump -D
Aufgabe 2: Einfacher Ping-Mitschnitt
Warum? → Einstieg: Sicht auf ICMP-Pakete und erste Funktionsprüfung.
- Terminal 1
- tcpdump -i eth0
- Terminal 2
- ping -c 3 8.8.8.8
Aufgabe 3: Verkehr zu bestimmtem Host
Warum? → Hilfreich bei der Analyse: Wird ein bestimmter Server kontaktiert?
- Terminal 1
- tcpdump -i eth0 host 10.0.10.104
- Terminal 2
- ping -c 3 10.0.10.104
Aufgabe 4: Nur ICMP anzeigen
Warum? → Eingrenzen: Nur „ping“-Verkehr sichtbar machen.
- Terminal 1
- tcpdump -i eth0 icmp
- Terminal 2
- ping -c 2 10.0.10.104
Aufgabe 5: DNS-Abfragen anzeigen
Warum? → Prüfen, ob Namensauflösung funktioniert.
- Terminal 1
- tcpdump -i eth0 port 53
- Terminal 2
- dig example.org
Aufgabe 6: DNS in Datei mitschneiden
Warum? → Reproduzierbar analysieren mit Wireshark oder erneut mit tcpdump.
- Terminal 1
- tcpdump -i eth0 port 53 -w dns.pcap
- Terminal 2
- dig xinux.net
Aufgabe 7: DNS-Mitschnitt anzeigen
Warum? → Analyse offline aus Datei.
- Terminal 1
- tcpdump -r dns.pcap
Aufgabe 8: HTTP-Zugriff sichtbar machen
Warum? → Prüfen, ob ein Webserver antwortet.
- Terminal 1
- tcpdump -i lo tcp port 80
- Terminal 2
- curl http://localhost
Aufgabe 9: HTTP-Header und Daten mitlesen
Warum? → Sicherheitsaspekt: HTTP überträgt Daten im Klartext.
- Terminal 1
- tcpdump -i eth0 -A port 80
- Terminal 2
- curl http://10.0.10.104
Aufgabe 10: Nur TCP-SYN anzeigen
Warum? → Verbindungsaufbau erkennen, z. B. für Portscan-Erkennung.
- Terminal 1
- tcpdump 'tcp[13] & 2 != 0 and tcp[13] & 16 == 0'
- Terminal 2
- nc -zv 10.0.10.104 80
Aufgabe 11: Verbindungen zu Port 22 beobachten
Warum? → Wird SSH angesprochen?
- Terminal 1
- tcpdump -i eth0 port 22
- Terminal 2
- ssh user@10.0.10.104
Aufgabe 12: Nur eingehende Pakete auf Port 22 anzeigen
Warum? → Nur Traffic mit Ziel „lokaler SSH-Dienst“ anzeigen.
- Terminal 1
- tcpdump -i eth0 dst port 22
- Terminal 2
- ssh user@10.0.10.104
Aufgabe 13: HTTPs nicht lesbar – trotzdem sichtbar
Warum? → Auch wenn TLS verschlüsselt: SNI, Zielhost und Port bleiben sichtbar.
- Terminal 1
- tcpdump -i eth0 port 443
- Terminal 2
- curl https://10.0.10.104
Aufgabe 14: ICMPv6 anzeigen
Warum? → IPv6 Neighbor Discovery & Ping6 nachvollziehen.
- Terminal 1
- tcpdump -i eth0 icmp6
- Terminal 2
- ping6 -c 2 ipv6.google.com
Aufgabe 15: ARP-Verkehr analysieren
Warum? → ARP-Probleme erkennen (z. B. bei IP-Konflikten).
- Terminal 1
- tcpdump -i eth0 arp
- Terminal 2
- arping 10.0.10.104
Aufgabe 16: Broadcast-Traffic sehen
Warum? → Prüfen, ob Broadcasts vorhanden sind (z. B. DHCP, ARP).
- Terminal 1
- tcpdump -i eth0 broadcast
- Terminal 2
- dhclient -v eth0
Aufgabe 17: Nur HTTP GET anzeigen
Warum? → Spezifisch HTTP-Methoden im Klartext sehen (sofern HTTP).
- Terminal 1
- tcpdump -i eth0 -A port 80 | grep "GET"
- Terminal 2
- curl http://10.0.10.104
Aufgabe 18: TCP und UDP parallel beobachten
Warum? → Beide Transportprotokolle gleichzeitig prüfen.
- Terminal 1
- tcpdump -i eth0 tcp or udp
- Terminal 2
- curl http://10.0.10.104 && dig xinux.net
Aufgabe 19: Pakete zählen statt anzeigen
Warum? → Übersicht: Wie viele Pakete treffen einen bestimmten Filter?
- Terminal 1
- tcpdump -i eth0 -c 10 port 80
- Terminal 2
- for i in {1..10}; do curl -s http://10.0.10.104 > /dev/null; done
Aufgabe 20: Verkehr nur von bestimmtem Port
Warum? → Beispiel: Nur ausgehender Traffic von lokalem Port 12345.
- Terminal 1
- tcpdump -i eth0 src port 12345
- Terminal 2
- nc -p 12345 10.0.10.104 80