#!/usr/bin/env bash # Script Name: dockernet-inspector.v1.sh # Beschreibung: Dockernet Inspector - Zeigt Details zu einem Docker-Netzwerk an (Netzwerktyp, Bridge-Interface, Subnet/Gateway, Interface-Status & Stats) # Verwendung: bash ./dockernet-inspector.v1.sh # Autor: Patrick Asmus # Web: https://www.cleveradmin.de # Git-Reposit.: https://git.techniverse.net/scriptos/dockernet-inspector.git # Version: 1.0.0 # Datum: 17.02.2026 # Modifikation: Initial ##################################################### set -euo pipefail NET="${1:-}" [[ -z "$NET" ]] && { echo "Usage: $0 "; exit 1; } # 1) Netzwerk-ID und Bridge-Name separat holen (jeweils eigenes inspect) ID="$(docker network inspect "$NET" --format '{{.Id}}' 2>/dev/null || true)" [[ -z "$ID" ]] && { echo "Fehler: Netzwerk '$NET' nicht gefunden."; exit 2; } BR_RAW="$(docker network inspect "$NET" --format '{{index .Options "com.docker.network.bridge.name"}}' 2>/dev/null || true)" # 2) Falls kein eigener Bridge-Name: Standardname br- if [[ -z "$BR_RAW" || "$BR_RAW" == "" ]]; then IF="br-${ID:0:12}" else IF="$BR_RAW" fi # 3) Subnet/Gateway SUBNET="$(docker network inspect "$NET" --format '{{(index .IPAM.Config 0).Subnet}}' 2>/dev/null || true)" GATEWAY="$(docker network inspect "$NET" --format '{{(index .IPAM.Config 0).Gateway}}' 2>/dev/null || true)" # 4) Interface-Status & Stats state="unknown"; rxb=0; txb=0; rxp=0; txp=0 if ip link show "$IF" &>/dev/null; then state="$(cat /sys/class/net/"$IF"/operstate 2>/dev/null || echo unknown)" rxb="$(cat /sys/class/net/"$IF"/statistics/rx_bytes 2>/dev/null || echo 0)" txb="$(cat /sys/class/net/"$IF"/statistics/tx_bytes 2>/dev/null || echo 0)" rxp="$(cat /sys/class/net/"$IF"/statistics/rx_packets 2>/dev/null || echo 0)" txp="$(cat /sys/class/net/"$IF"/statistics/tx_packets 2>/dev/null || echo 0)" else echo "WARN: Interface $IF existiert (noch) nicht auf dem Host." fi cat <