Viele Netzwerktests wiederholen sich:
- Ist der Server online?
- Funktioniert DNS?
- Welche Ports sind offen?
- Gibt es Paketverlust?
Statt die Befehle jedes Mal manuell einzugeben, kannst du dir kleine
Bash-Skripte schreiben. Diese automatisieren die Prüfungen und speichern die Ergebnisse.
🔹 Beispiel 1: Server-Ping prüfen
Datei
check_ping.sh:
#!/bin/bash
# Nutzung: ./check_ping.sh <HOST>
HOST=$1
if [ -z "$HOST" ]; then
echo "Usage: $0 <hostname_or_ip>"
exit 1
fi
if ping -c 2 $HOST > /dev/null; then
echo "✅ $HOST ist erreichbar"
else
echo "❌ $HOST nicht erreichbar"
fi
Ausführen:
./check_ping.sh www.dev-pool.de
🔹 Beispiel 2: Port-Check mit nc
Datei check_
port.sh:
#!/bin/bash
# Nutzung: ./check_port.sh <HOST> <PORT>
HOST=$1
PORT=$2
if [ -z "$HOST" ] || [ -z "$PORT" ]; then
echo "Usage: $0 <host> <port>"
exit 1
fi
if nc -z -w2 $HOST $PORT; then
echo "✅ Port $PORT auf $HOST ist offen"
else
echo "❌ Port $PORT auf $HOST ist geschlossen"
fi
🔹 Beispiel 3: Täglicher Netzwerktest mit Logdatei
Datei
daily_check.sh:
#!/bin/bash
# Führt tägliche Netzwerktests aus und speichert Ergebnisse
HOST="8.8.8.8"
LOGFILE="/var/log/netcheck.log"
echo "=== $(date) ===" >> $LOGFILE
# Ping-Test
ping -c 4 $HOST >> $LOGFILE
# DNS-Test
dig +short www.dev-pool.de >> $LOGFILE
# Port-Test
nc -z -w2 www.dev-pool.de 80 && echo "Port 80 offen" >> $LOGFILE || echo "Port 80 geschlossen" >> $LOGFILE
echo "" >> $LOGFILE
👉 Mit einem Cronjob kannst du diesen Test z. B. täglich ausführen lassen:
crontab -e
Dann eintragen:
0 8 * * * /home/user/daily_check.sh
→ führt den Test jeden Tag um 8 Uhr morgens aus.
🔹 Beispiel 4: Netzwerkstatus aller Interfaces sichern
#!/bin/bash
OUT="/var/log/netstatus_$(date +%F).log"
{
echo "=== Netzwerkstatus $(date) ==="
ip addr
ip route
ss -ltn
} > $OUT
echo "✅ Netzwerkstatus gespeichert in $OUT"
🔹 Übungen
- Schreibe ein Skript, das 3 wichtige Server deiner Wahl per
ping prüft.
- Ergänze ein Port-Check-Skript für SSH (22), HTTP (80) und HTTPS (443).
- Lasse dein Skript mit Cronjob täglich laufen und speichere die Ergebnisse in
/var/log/netcheck.log.
- Bonus: Versende die Ergebnisse per Mail mit
mail oder sendmail.
✅ Zusammenfassung
- Mit Bash-Skripten kannst du Netzwerktests automatisieren.
- Praktisch sind Ping-Tests, Port-Prüfungen und DNS-Abfragen.
- Logs helfen, Trends über längere Zeit zu erkennen.
- Mit Cronjobs laufen Tests automatisch – ideal für Admins.
🎉 Damit ist dein Kurs
"Netzwerk-Tools im Terminal" abgeschlossen!
Du hast nun alle Grundlagen, Diagnose-Tools und sogar Automatisierungen in der Hand.
📚 Inhaltsverzeichnis
👉
Netzwerkdiagnose Kapitel 1: Netzwerkschnittstellen anzeigen & konfigurieren (ip link, ip addr)
👉
Netzwerkdiagnose Kapitel 2: Routingtabellen & Gateways mit ip route
👉
Netzwerkdiagnose Kapitel 3: Namensauflösung & DNS-Tools (dig, nslookup, host)
👉
Netzwerkdiagnose Kapitel 4: Verbindungen & Ports prüfen mit ss
👉
Netzwergdiagnose Kapitel 5: Netzwerkverbindungen testen (ping, traceroute, mtr, nc)
👉
Netzwerkdiagnose Kapitel 6: Netzwerküberwachung & Analyse (iftop, nload, tcpdump)
👉
Netzwerkdiagnose Kapitel 7: Firewall-Tools (ufw, iptables, nftables)
⭐ Bonus-Kapitel
👉
Netzwerkdiagnose Kapitel 8 (Bonus): Fehlerdiagnose & Performance im Netzwerk
👉
Netwerkdiagnose Kapitel 9 (Bonus): Automatisierung & Skripte für Netzwerktestsk