Erstelle QR‑Codes aus Text/URL oder scanne vorhandene Codes mit deiner Kamera.
Erstelle Bar-Code aus alphanumerischen Zeichenketten.
Alles läuft lokal im Browser – keine Daten werden übertragen.
Pingtool für die Bash (Linux)
Das Pingtool ist ein Bash-Programm zur fortlaufenden Überprüfung von IPv4- und IPv6-Verbindungen unter Debian und anderen Linux-Systemen. Die neueste Messung steht immer direkt unter der festen Tabellenüberschrift.
📡 Funktionen
Beim Start eine Domain eingeben oder alternativ IPv4- und IPv6-Adressen manuell festlegen
Bei einer Domain automatisch je eine IPv4- und IPv6-Adresse über DNS ermitteln
Die verwendeten Zieladressen dauerhaft oberhalb der Tabelle anzeigen
IPv4 und IPv6 nacheinander anpingen; Antwortzeiten in Millisekunden anzeigen
Die Anzahl der sichtbaren Messungen an die Terminalhöhe anpassen
Mit Strg+C beenden
🖥️ Beispielausgabe
IPv4 / IPv6 PING-MONITOR
Domain: freifunk-halle.org
IPv4: 37.221.193.24
IPv6: 2a03:4000:8:f3a::1
Datum Uhrzeit IPv4 IPv6
------------------------------------------------------
22.10.2026 00:35:20 OK 41.3 msOK 19.9 ms
22.10.2026 00:35:19 AUSFALLOK 11.1 ms
22.10.2026 00:35:18 OK 7.67 msAUSFALL
🛠️ Installation über Bash
Der folgende Code kann vollständig kopiert und in ein Terminal eingefügt werden. Er legt /usr/local/bin/pingtool.sh an und erstellt den symbolischen Link /usr/local/bin/pingtool. Eine vorhandene Skriptversion wird zuvor mit Zeitstempel gesichert.
#!/usr/bin/env bash
set -e
ZIEL=/usr/local/bin/pingtool.sh
if [[ -f "$ZIEL" ]]; then
SICHERUNG="/usr/local/bin/pingtool-$(date +%Y-%m-%d-%H-%M-%S).sh.bak"
sudo cp -a "$ZIEL" "$SICHERUNG"
echo "Sicherung: $SICHERUNG"
fi
sudo tee "$ZIEL" >/dev/null <<'PINGTOOL'
#!/usr/bin/env bash
# IPv4 / IPv6 Ping-Monitor
GRUEN=$'\033[1;32m'
ROT=$'\033[1;31m'
NORMAL=$'\033[0m'
read -r -p 'Domain (leer = IPv4/IPv6 manuell): ' DOMAIN </dev/tty
if [[ -n "$DOMAIN" ]]; then
IPV4=$(getent ahostsv4 "$DOMAIN" | awk '$2=="STREAM" {print $1; exit}')
IPV6=$(getent ahostsv6 "$DOMAIN" | awk '$2=="STREAM" {print $1; exit}')
else
read -r -p 'IPv4-Adresse (leer = überspringen): ' IPV4 </dev/tty
read -r -p 'IPv6-Adresse (leer = überspringen): ' IPV6 </dev/tty
fi
if [[ -z "$IPV4" && -z "$IPV6" ]]; then
echo 'Keine Ziele gefunden oder eingegeben.' >&2
exit 1
fi
ping_test() {
local version="$1" ziel="$2" ausgabe ms
[[ -n "$ziel" ]] || { printf '%s' '---'; return; }
if ausgabe=$(LC_ALL=C ping -"$version" -n -c 1 -W 2 "$ziel" 2>/dev/null); then
ms=$(sed -n 's/.*time=\([0-9.]*\).*/\1/p' <<< "$ausgabe" | head -1)
printf 'OK %s ms' "${ms:-?}"
else
printf 'AUSFALL'
fi
}
VERLAUF=()
trap 'printf "\033[0m\n"; exit 0' INT TERM
while true; do
DATUM=$(date '+%d.%m.%Y')
UHRZEIT=$(date '+%H:%M:%S')
ERG4=$(ping_test 4 "$IPV4")
ERG6=$(ping_test 6 "$IPV6")
VERLAUF=("$DATUM|$UHRZEIT|$ERG4|$ERG6" "${VERLAUF[@]}")
HOEHE=$(tput lines 2>/dev/null || echo 24)
MAX=$((HOEHE - 9))
(( MAX < 1 )) && MAX=1
VERLAUF=("${VERLAUF[@]:0:MAX}")
printf '\033[H\033[2J'
printf 'IPv4 / IPv6 PING-MONITOR\n'
[[ -n "$DOMAIN" ]] && printf 'Domain: %s\n' "$DOMAIN"
printf 'IPv4: %s\n' "${IPV4:-Nicht vorhanden}"
printf 'IPv6: %s\n\n' "${IPV6:-Nicht vorhanden}"
printf '%-10s %-8s %-13s %s\n' 'Datum' 'Uhrzeit' 'IPv4' 'IPv6'
printf '%s\n' '------------------------------------------------------'
for EINTRAG in "${VERLAUF[@]}"; do
IFS='|' read -r D T V4 V6 <<< "$EINTRAG"
printf '%-10s %-8s ' "$D" "$T"
if [[ "$V4" == OK* ]]; then
printf '%s%-13s%s ' "$GRUEN" "$V4" "$NORMAL"
elif [[ "$V4" == AUSFALL ]]; then
printf '%s%-13s%s ' "$ROT" "$V4" "$NORMAL"
else
printf '%-13s ' "$V4"
fi
if [[ "$V6" == OK* ]]; then
printf '%s%s%s\n' "$GRUEN" "$V6" "$NORMAL"
elif [[ "$V6" == AUSFALL ]]; then
printf '%s%s%s\n' "$ROT" "$V6" "$NORMAL"
else
printf '%s\n' "$V6"
fi
done
sleep 1
done
PINGTOOL
sudo chmod 755 "$ZIEL"
sudo ln -sfn /usr/local/bin/pingtool.sh /usr/local/bin/pingtool
echo 'Installation abgeschlossen. Start mit: pingtool'
▶️ Starten
pingtool
Alternativ funktioniert weiterhin pingtool.sh. Das Skript selbst benötigt beim Start keine Root-Rechte.
Hinweis: Die DNS-Auflösung erfolgt beim Programmstart. Bei mehreren DNS-Adressen wird je IP-Version die erste verwendet. Die Messwerte bleiben nur während der Laufzeit im Speicher; es wird keine Protokolldatei angelegt.