Update raktest.sh

This commit is contained in:
radek 2025-07-11 17:27:14 +02:00
parent 4c9a35989d
commit bbf4e5a527
1 changed files with 34 additions and 17 deletions

View File

@ -28,29 +28,46 @@ VPN_DNS="8.8.8.8"
LORAWAN_TTN_HOST="10.130.0.19" LORAWAN_TTN_HOST="10.130.0.19"
echo "🔎 Pobieram MAC adres swojego interfejsu..." echo "🔎 Pobieram MAC adres swojego interfejsu..."
OWN_MAC=$(cat /sys/class/net/${INTERFACE}/address | tr '[:lower:]' '[:upper:]') # Sprawdzamy, czy podano argument ABCD
if [ $# -eq 1 ]; then
HEX=$1
echo "✅ Własny MAC interfejsu $INTERFACE: $OWN_MAC" # Sprawdzamy czy długość to dokładnie 4 znaki hex
if [[ ! $HEX =~ ^[0-9A-Fa-f]{4}$ ]]; then
echo "❌ Podany parametr musi być 4-znakowym ciągiem heksadecymalnym (np. ABCD)."
exit 1
fi
echo "🎧 Podsłuchuję DHCP pakiety, czekam na bramę..." LAST_B1="${HEX:0:2}"
LAST_B2="${HEX:2:2}"
echo "✅ Używam ręcznie podanego bajtu MAC: $LAST_B1:$LAST_B2"
DEVICE_MAC=$(sudo timeout 15 tcpdump -i $INTERFACE -nn -l -v udp port 67 or udp port 68 \ else
2>/dev/null | \ echo "🔎 Pobieram MAC adres swojego interfejsu..."
grep -oEi '([0-9a-f]{2}:){5}[0-9a-f]{2}' | \ OWN_MAC=$(cat /sys/class/net/${INTERFACE}/address | tr '[:lower:]' '[:upper:]')
grep -vi "$OWN_MAC" | \ echo "✅ Własny MAC interfejsu $INTERFACE: $OWN_MAC"
head -n1)
if [ -z "$DEVICE_MAC" ]; then echo "🎧 Podsłuchuję DHCP pakiety, czekam na bramę..."
echo "❌ Nie udało się znaleźć żadnego pakietu DHCP poza własnym interfejsem."
exit 1 DEVICE_MAC=$(timeout 15 tcpdump -i $INTERFACE -nn -l -v udp port 67 or udp port 68 \
2>/dev/null | \
grep -oEi '([0-9a-f]{2}:){5}[0-9a-f]{2}' | \
grep -Fvi "$OWN_MAC" | \
sort -u | \
head -n1)
if [ -z "$DEVICE_MAC" ]; then
echo "❌ Nie udało się znaleźć żadnego pakietu DHCP poza własnym interfejsem."
exit 1
fi
echo "✅ Znaleziony MAC bramy: $DEVICE_MAC"
IFS=':' read -ra mac_bytes <<< "$DEVICE_MAC"
LAST_B1=${mac_bytes[4]}
LAST_B2=${mac_bytes[5]}
fi fi
echo "✅ Znaleziony MAC bramy: $DEVICE_MAC"
# Rozbij MAC na bajty
IFS=':' read -ra mac_bytes <<< "$DEVICE_MAC"
LAST_B1=${mac_bytes[4]}
LAST_B2=${mac_bytes[5]}
LAST_B1_DEC=$((16#${LAST_B1})) LAST_B1_DEC=$((16#${LAST_B1}))
LAST_B2_DEC=$((16#${LAST_B2})) LAST_B2_DEC=$((16#${LAST_B2}))