Update raktest.sh
This commit is contained in:
parent
4c9a35989d
commit
bbf4e5a527
41
raktest.sh
41
raktest.sh
|
|
@ -28,29 +28,46 @@ VPN_DNS="8.8.8.8"
|
|||
LORAWAN_TTN_HOST="10.130.0.19"
|
||||
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
|
||||
echo "🔎 Pobieram MAC adres swojego interfejsu..."
|
||||
OWN_MAC=$(cat /sys/class/net/${INTERFACE}/address | tr '[:lower:]' '[:upper:]')
|
||||
echo "✅ Własny MAC interfejsu $INTERFACE: $OWN_MAC"
|
||||
|
||||
echo "🎧 Podsłuchuję DHCP pakiety, czekam na bramę..."
|
||||
|
||||
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 -vi "$OWN_MAC" | \
|
||||
grep -Fvi "$OWN_MAC" | \
|
||||
sort -u | \
|
||||
head -n1)
|
||||
|
||||
if [ -z "$DEVICE_MAC" ]; then
|
||||
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
|
||||
|
||||
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_B2_DEC=$((16#${LAST_B2}))
|
||||
|
|
|
|||
Loading…
Reference in New Issue