Tcpdump Aufgaben Linux - Netzwerk und Serveradminstration

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Ü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)
  • Terminal 1 fw
  • Terminal 2 ns


Aufgabe: Verfügbare Interfaces anzeigen

  • Warum? → Um zu wissen, auf welchem Interface tcpdump überhaupt Pakete mitschneiden kann.
Terminal 1
tcpdump -D

Aufgabe: Einfacher Ping-Mitschnitt

  • Warum? → Einstieg: Sicht auf ICMP-Pakete und erste Funktionsprüfung.
Terminal 1
tcpdump -i enp0s8 icmp 
Terminal 2
ping -c 3 8.8.8.8

Aufgabe: Verkehr zu bestimmtem Host

  • Warum? → Hilfreich bei der Analyse: Wird ein bestimmter Server kontaktiert?
Terminal 1
tcpdump -i enp0s8 host 1.1.1.1
Terminal 2
ping -c 3 1.1.1.1

Aufgabe: Alle Schnittstellen anzeigen

  • Warum? → Eingrenzen: Kompletter Verlauf des Paketset anzeigen
Terminal 1
tcpdump -i any icmp
Terminal 2
ping -c 2 8.8.4.4

Aufgabe: DNS-Abfragen anzeigen

  • Warum? → Prüfen, ob Namensauflösung funktioniert.
Terminal 1
tcpdump -i enp0s8 port 53
Terminal 2
host xinux.de

Aufgabe: DNS in Datei mitschneiden

  • Warum? → Reproduzierbar analysieren mit Wireshark oder erneut mit tcpdump.
Terminal 1
tcpdump -i enp0s8 port 53 -w dns.pcap
Terminal 2
dig xinux.net

Aufgabe: DNS-Mitschnitt anzeigen

  • Warum? → Analyse offline aus Datei.
Terminal 1
tcpdump -r dns.pcap

Aufgabe: HTTP-Zugriff sichtbar machen

  • Warum? → Prüfen, ob ein Webserver antwortet.
Terminal 1
tcpdump -i enp0s8 tcp port 80
Terminal 2
curl http://192.168.Y.88

Aufgabe: HTTP-Header und Daten mitlesen

  • Warum? → Sicherheitsaspekt: HTTP überträgt Daten im Klartext.
Terminal 1
tcpdump -i enp0s8 -A port 80
Terminal 2
curl http://192.168.Y.88

Aufgabe: Nur TCP-SYN anzeigen

TCP Flags – Byte tcp[13]
Bit-Position 7 6 5 4 3 2 1 0
Flag CWR ECE URG ACK PSH RST SYN FIN
Dezimalwert 128 64 32 16 8 4 2 1
Hex 0x80 0x40 0x20 0x10 0x08 0x04 0x02 0x01
Filter-Vergleich & 128 & 64 & 32 & 16 & 8 & 4 & 2 & 1
  • 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 192.168.Y.88 22

Aufgabe: Verbindungen zu Port 22 beobachten

  • Warum? → Wird SSH angesprochen?
Terminal 1
tcpdump -i enp0s8 port 22 and host 192.168.Y.88
Terminal 2
ssh kit@192.168.Y.88 
(Anmerkung nicht einlogen)

Aufgabe: Nur eingehende Pakete auf Port 22 anzeigen

  • Warum? → Nur Traffic mit Ziel „lokaler SSH-Dienst“ anzeigen.
Terminal 1
tcpdump -i enp0s8 dst port 22
Terminal 2
ssh kit@192.168.Y.88 
(Anmerkung nicht einlogen)

Aufgabe: HTTPs nicht lesbar – trotzdem sichtbar

  • Warum? → Auch wenn TLS verschlüsselt: SNI, Zielhost und Port bleiben sichtbar.
Terminal 1
tcpdump -i enp0s8 port 443
Terminal 2
curl https://xinux.de


Aufgabe: ARP-Verkehr analysieren

  • Warum? → ARP-Probleme erkennen (z. B. bei IP-Konflikten).
Terminal 1
tcpdump -i enp0s8 arp
Terminal 2
sudo ping 10.88.2XX.9

Aufgabe: Nur HTTP GET anzeigen

  • Warum? → Spezifisch HTTP-Methoden im Klartext sehen (sofern HTTP).
Terminal 1
tcpdump -i enp0s8 -A port 80 | grep "GET"
Terminal 2
curl http://192.168.Y.88

Aufgabe: TCP und UDP parallel beobachten, aber port 22 expliziet ausschliessen

  • Warum? → Beide Transportprotokolle gleichzeitig prüfen.
Terminal 1
tcpdump -i enp0s8  "( tcp or udp ) and not port 22"
Terminal 2
curl http://192.168.Y.88 && dig xinux.net

Aufgabe: Verkehr nur von bestimmtem Port

  • Warum? → Beispiel: Nur ausgehender Traffic von lokalem Port 12345.
Terminal 1
tcpdump -i enp0s8 src port 12345
Terminal 2
nc -p 12345 192.168.Y.88 80

Aufgabe: Broadcast-Traffic sehen

  • Warum? → Prüfen, ob Broadcasts vorhanden sind (z. B. DHCP, ARP).
Terminal 1
tcpdump -i enp0s8 broadcast
Terminal 2
dhcpcd enp0s3

Abschluss

systemctl reboot