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

  1. Schreibe ein Skript, das 3 wichtige Server deiner Wahl per ping prüft.
  2. Ergänze ein Port-Check-Skript für SSH (22), HTTP (80) und HTTPS (443).
  3. Lasse dein Skript mit Cronjob täglich laufen und speichere die Ergebnisse in /var/log/netcheck.log.
  4. 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