Tcpdump Aufgaben Linux - Netzwerk und Serveradminstration: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 69: Zeile 69:
  
 
=Aufgabe: Nur TCP-SYN anzeigen=
 
=Aufgabe: Nur TCP-SYN anzeigen=
 +
{| class="wikitable" style="text-align:center"
 +
|+ 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
 +
| <code>& 128</code> || <code>& 64</code> || <code>& 32</code> || <code>& 16</code> || <code>& 8</code> || <code>& 4</code> || <code>& 2</code> || <code>& 1</code>
 +
|}
 +
 
*Warum? → Verbindungsaufbau erkennen, z. B. für Portscan-Erkennung.
 
*Warum? → Verbindungsaufbau erkennen, z. B. für Portscan-Erkennung.
 
;Terminal 1:
 
;Terminal 1:
Zeile 113: Zeile 130:
 
  curl http://192.168.Y.88
 
  curl http://192.168.Y.88
  
=Aufgabe: TCP und UDP parallel beobachten=
+
=Aufgabe: TCP und UDP parallel beobachten, aber port 22 expliziet ausschliessen=
 
*Warum? → Beide Transportprotokolle gleichzeitig prüfen.
 
*Warum? → Beide Transportprotokolle gleichzeitig prüfen.
 
;Terminal 1:
 
;Terminal 1:
  tcpdump -i enp0s8 tcp or udp
+
  tcpdump -i enp0s8 "( tcp or udp ) and not port 22"
 
;Terminal 2:
 
;Terminal 2:
 
  curl http://192.168.Y.88 && dig xinux.net
 
  curl http://192.168.Y.88 && dig xinux.net

Aktuelle Version vom 16. April 2026, 09:09 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)
  • 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