Linux bietet mächtige Kommandozeilen-Tools für Netzwerkdiagnose und -konfiguration. Hier sind die wichtigsten Befehle für Administratoren.

ip - Netzwerk-Konfiguration

Der ip-Befehl ersetzt die älteren ifconfig und route.

IP-Adressen anzeigen

# Alle Interfaces mit IP-Adressen
ip addr
ip a  # Kurzform

# Nur ein Interface
ip addr show eth0

# Nur IPv4
ip -4 addr

# Nur IPv6
ip -6 addr

IP-Adresse konfigurieren

# IP-Adresse hinzufügen
ip addr add 192.168.1.100/24 dev eth0

# IP-Adresse entfernen
ip addr del 192.168.1.100/24 dev eth0

# Alle IPs eines Interfaces löschen
ip addr flush dev eth0

Interfaces verwalten

# Interface aktivieren
ip link set eth0 up

# Interface deaktivieren
ip link set eth0 down

# Interface-Status anzeigen
ip link show eth0

Routing-Tabelle

# Routing-Tabelle anzeigen
ip route
ip r  # Kurzform

# Default-Gateway anzeigen
ip route | grep default

# Route hinzufügen
ip route add 10.0.0.0/8 via 192.168.1.1

# Default-Gateway setzen
ip route add default via 192.168.1.1

# Route löschen
ip route del 10.0.0.0/8

Nachbar-Cache (ARP)

# ARP-Tabelle anzeigen
ip neigh
ip n  # Kurzform

# Eintrag hinzufügen
ip neigh add 192.168.1.50 lladdr aa:bb:cc:dd:ee:ff dev eth0

# Cache leeren
ip neigh flush dev eth0

ss - Socket-Statistiken

Der ss-Befehl zeigt Netzwerk-Sockets (ersetzt netstat).

Grundlegende Nutzung

# Alle Verbindungen
ss

# TCP-Verbindungen
ss -t

# UDP-Verbindungen
ss -u

# Listening Sockets
ss -l

# Alle TCP-Listening
ss -tl

# Mit Prozess-Informationen
ss -tlp

# Mit numerischen Ports (nicht auflösen)
ss -tln

Typische Kombinationen

# Alle lauschenden TCP-Ports mit Prozess
ss -tlnp

# Ausgabe:
# State   Recv-Q Send-Q Local Address:Port  Peer Address:Port Process
# LISTEN  0      128    0.0.0.0:22          0.0.0.0:*         users:(("sshd",pid=1234))
# LISTEN  0      128    0.0.0.0:80          0.0.0.0:*         users:(("nginx",pid=5678))

Filtern

# Nach Port filtern
ss -tln sport = :80
ss -tln 'sport = :80 or sport = :443'

# Nach Status filtern
ss -t state established

# Nach Adresse filtern
ss -t dst 192.168.1.100

Verbindungsstatistiken

# Statistiken anzeigen
ss -s

# Ausgabe:
# Total: 150
# TCP:   25 (estab 10, closed 5, ...)
# UDP:   3

netstat - Netzwerkstatistiken (Legacy)

Noch weit verbreitet, aber durch ss ersetzt.

# Installation falls nötig
apt install net-tools

# Alle Verbindungen
netstat -a

# TCP-Verbindungen
netstat -t

# Lauschende Ports mit Prozess
netstat -tlnp

# Routing-Tabelle
netstat -r

# Interface-Statistiken
netstat -i

Vergleich ss vs. netstat

| Aufgabe | ss | netstat | |---------|-------|---------| | TCP Listening | ss -tln | netstat -tln | | Mit Prozess | ss -tlnp | netstat -tlnp | | UDP Sockets | ss -uln | netstat -uln | | Statistiken | ss -s | netstat -s |

ping - Erreichbarkeit prüfen

Grundlegende Nutzung

# Host anpingen
ping google.com

# Anzahl begrenzen
ping -c 4 google.com

# Interval ändern (0.2 Sekunden)
ping -i 0.2 google.com

# Timeout setzen
ping -W 2 google.com

Nützliche Optionen

# Nur Zusammenfassung
ping -c 4 -q google.com

# IPv6 verwenden
ping6 google.com
ping -6 google.com

# Mit Timestamp
ping -D google.com

# Paketgröße ändern
ping -s 1000 google.com

Ausgabe verstehen

PING google.com (142.250.185.78) 56(84) bytes of data.
64 bytes from 142.250.185.78: icmp_seq=1 ttl=117 time=12.3 ms
64 bytes from 142.250.185.78: icmp_seq=2 ttl=117 time=11.8 ms

--- google.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 11.800/12.050/12.300/0.250 ms
  • ttl: Time-to-Live (Hop-Zähler)
  • time: Antwortzeit (Latenz)
  • icmp_seq: Sequenznummer

traceroute - Weg zum Ziel

Zeigt den Pfad durch das Netzwerk.

# Installation
apt install traceroute

# Grundlegend
traceroute google.com

# Mit ICMP statt UDP
traceroute -I google.com

# Maximale Hops
traceroute -m 20 google.com

# Keine DNS-Auflösung
traceroute -n google.com

mtr - Kombiniert ping und traceroute

# Installation
apt install mtr

# Interaktiv
mtr google.com

# Report-Modus
mtr -r -c 10 google.com

dig/nslookup - DNS-Abfragen

dig (empfohlen)

# A-Record
dig example.com

# Spezifischer Record-Typ
dig example.com MX
dig example.com TXT
dig example.com AAAA

# Kurze Ausgabe
dig +short example.com

# Bestimmter DNS-Server
dig @8.8.8.8 example.com

# Reverse DNS
dig -x 8.8.8.8

nslookup

# Einfache Abfrage
nslookup example.com

# Bestimmter Server
nslookup example.com 8.8.8.8

# Record-Typ
nslookup -type=MX example.com

curl/wget - HTTP-Anfragen

curl

# GET-Request
curl https://example.com

# Mit Header
curl -I https://example.com

# Verbose
curl -v https://example.com

# POST-Request
curl -X POST -d "key=value" https://api.example.com

# Download
curl -O https://example.com/file.zip

# SSL ignorieren (nicht empfohlen)
curl -k https://self-signed.example.com

wget

# Download
wget https://example.com/file.zip

# Stille Ausgabe
wget -q https://example.com/file.zip

# In Datei speichern
wget -O output.html https://example.com

Netzwerk-Troubleshooting

Schritt 1: Lokale Konfiguration prüfen

# IP-Konfiguration
ip addr

# Gateway
ip route | grep default

# DNS
cat /etc/resolv.conf

Schritt 2: Lokale Verbindung testen

# Gateway anpingen
ping -c 4 192.168.1.1

# Localhost
ping -c 4 127.0.0.1

Schritt 3: Internet-Verbindung testen

# Öffentliche IP anpingen
ping -c 4 8.8.8.8

# DNS-Auflösung testen
dig google.com

# Dann Domain anpingen
ping -c 4 google.com

Schritt 4: Dienste prüfen

# Offene Ports
ss -tlnp

# Firewall
iptables -L -n
# oder
ufw status

Schritt 5: Verbindung analysieren

# Traceroute
traceroute -I google.com

# MTR für kontinuierliche Analyse
mtr google.com

Nützliche Kombinationen

Wer nutzt Port 80?

ss -tlnp | grep :80
# oder
lsof -i :80

Aktive Verbindungen zählen

ss -t state established | wc -l

Verbindungen pro IP

ss -tn | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head

Netzwerk-Interface Durchsatz

# Einmalig
cat /sys/class/net/eth0/statistics/rx_bytes
cat /sys/class/net/eth0/statistics/tx_bytes

# Kontinuierlich (mit iftop)
apt install iftop
iftop -i eth0

# Oder mit nload
apt install nload
nload eth0

Zusammenfassung

| Aufgabe | Befehl | |---------|--------| | IP-Konfiguration | ip addr, ip route | | Offene Ports | ss -tlnp | | Erreichbarkeit | ping | | Route zum Ziel | traceroute, mtr | | DNS-Abfrage | dig, nslookup | | HTTP-Test | curl | | Traffic-Analyse | iftop, tcpdump |

Fazit

Die modernen Tools ip und ss ersetzen die älteren ifconfig und netstat. Für systematisches Troubleshooting arbeiten Sie sich von innen nach außen: Lokale Konfiguration prüfen, Gateway testen, Internet-Verbindung prüfen, DNS testen. Mit diesen Befehlen können Sie die meisten Netzwerkprobleme diagnostizieren.