#!/bin/bash # === IMPORTS === SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source "$SCRIPT_DIR/Log.sh" # === Funktionen === get_ip_from_mac() { local mac="$1" # Aktuelle Netzwerkschnittstelle und Subnetz ermitteln local subnet=$(ip -o -4 addr show | awk '$2 != "lo" {split($4, a, "/"); print a[1] "/" a[2]}' | head -n 1) if [[ -z "$subnet" ]]; then log "Fehler: Konnte Subnetz nicht ermitteln." return 1 fi log "Scanne Netzwerk $subnet nach MAC-Adresse $mac..." # Netzwerk nach der MAC-Adresse scannen local ip=$(sudo nmap -sn "$subnet" | grep -B 2 -i "$mac" | awk '/Nmap scan report/{print $5}') if [[ -z "$ip" ]]; then log "Fehler: Keine IP für MAC-Adresse $mac gefunden." return 1 fi echo "$ip" return 0 }