Tcpdump Aufgaben: Unterschied zwischen den Versionen

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

Version vom 10. Mai 2025, 16:50 Uhr

Übungen: tcpdump mit aktivem Netzwerkverkehr

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