Tcpdump Aufgaben Linux - Netzwerk und Serveradminstration: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 33: | Zeile 33: | ||
tcpdump -i any icmp | tcpdump -i any icmp | ||
;Terminal 2: | ;Terminal 2: | ||
| − | ping -c 2 8.8.4.4 | + | ping -c 2 8.8.4.4 |
=Aufgabe: DNS-Abfragen anzeigen= | =Aufgabe: DNS-Abfragen anzeigen= | ||
| 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 105: | Zeile 122: | ||
;Terminal 2: | ;Terminal 2: | ||
sudo ping 10.88.2XX.9 | sudo ping 10.88.2XX.9 | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
=Aufgabe: Nur HTTP GET anzeigen= | =Aufgabe: Nur HTTP GET anzeigen= | ||
| Zeile 120: | 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 | + | 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 | ||
| Zeile 133: | Zeile 143: | ||
;Terminal 2: | ;Terminal 2: | ||
nc -p 12345 192.168.Y.88 80 | 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 | ||
| + | |||
[[Kategorie:tcpdump]] | [[Kategorie:tcpdump]] | ||
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
| 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