EMZETT.
Login

Netzwerkdiagnose unter Linux: ss, lsof, tcpdump und mtr

Kurz: Mit ss und lsof sieht man, welche Programme auf welchen Ports lauschen oder verbunden sind, mit tcpdump den Datenverkehr und mit mtr den Weg samt Paketverlust zum Ziel.

Genauer: Wenn „das Netz nicht geht“, hilft eine Schicht-für-Schicht-Diagnose: Kabel/WLAN, IP, Gateway, DNS, Port, Anwendung. Linux liefert dafür kleine Werkzeuge.

Im Detail

Eigene Konfiguration und Verbindungen

ip a                 # Adressen und Schnittstellen
ip r                 # Routen (Gateway)
resolvectl status    # DNS-Server
ss -tulpn            # lauschende Ports + Prozess (TCP/UDP)
ss -tn state established    # aktive Verbindungen
sudo lsof -iTCP:8080 -sTCP:LISTEN    # wer belegt Port 8080?
sudo lsof -i -nP | head

ss ersetzt netstat. -p zeigt den Prozess (braucht root für fremde). EADDRINUSE/„port already allocated“ klärt ss/lsof.

Erreichbarkeit prüfen

ping -c 4 1.1.1.1          # Internet per IP?
ping -c 4 example.org      # DNS + Internet?
dig example.org +short     # DNS-Auflösung
curl -I https://example.org   # HTTP(S)-Antwort
nc -zv server 443          # Port offen? (netcat)
openssl s_client -connect example.org:443 -servername example.org
traceroute example.org
mtr -rwz example.org       # Weg + Verlust pro Hop

mtr kombiniert ping und traceroute: Verlust, der bis zum Ziel anhält, ist echt; Verlust nur an einem Zwischen-Hop ist oft ICMP-Drosselung, kein Problem.

tcpdump: Pakete ansehen

sudo tcpdump -i eth0 -nn port 53          # DNS-Verkehr
sudo tcpdump -i any -nn host 203.0.113.5 and tcp port 443
sudo tcpdump -i eth0 -w mitschnitt.pcap   # in Datei, später in Wireshark

Zeigt Handshakes (SYN, SYN-ACK), Resets, Wiederholungen, DNS-Antworten. Hilft bei „Verbindung bricht ab“ und Firewall-Fragen. Rechtlich/Datenschutz: Nur im eigenen Netz oder mit Erlaubnis mitschneiden; Mitschnitte enthalten Passwörter/Daten, sicher aufbewahren und löschen. TLS-Inhalt bleibt verschlüsselt.

Systematischer Ablauf

  1. Link: Kabel, WLAN verbunden? (ip link).
  2. IP/Gateway: ip a, ping Gateway.
  3. Internet per IP: ping 1.1.1.1.
  4. DNS: dig/resolvectl query.
  5. Port/Dienst: nc -zv, curl -v.
  6. Firewall/Proxy/VPN prüfen (nft list ruleset, Proxy-Variablen).
  7. Server-Seite: lauscht der Dienst (ss -tulpn), richtige Schnittstelle (127.0.0.1 vs 0.0.0.0)?
  8. Details: tcpdump, Logs (journalctl -u dienst). Dokumentiere Ergebnisse; typische Ursachen: falscher DNS, blockierter Port, falsche Bind-Adresse.

Siehe auch: Ping, Wireshark, netstat, EADDRINUSE