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
pingprü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
mailodersendmail.
✅ 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
