Feat: Funktion, um die IP einer Mac-Adresse zu bekommen
This commit is contained in:
parent
63d3c6944b
commit
cdca7c2901
32
Utility/IpFromMac.sh
Normal file
32
Utility/IpFromMac.sh
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
#!/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
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user