Update debian/set_mac_wifi.sh
This commit is contained in:
Vendored
+29
-8
@@ -18,23 +18,44 @@ set_mac() {
|
|||||||
local interface="$1"
|
local interface="$1"
|
||||||
local mac="$2"
|
local mac="$2"
|
||||||
local success=false
|
local success=false
|
||||||
|
local log_file="/var/log/set_mac.log"
|
||||||
|
|
||||||
if ip link show "$interface" &> /dev/null; then
|
# Verifica se a interface existe
|
||||||
# Try to set MAC
|
if ! ip link show "$interface" &> /dev/null; then
|
||||||
|
echo "$(date): Interface $interface não encontrada." | tee -a "$log_file"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Verifica se macchanger está instalado
|
||||||
|
if command -v macchanger >/dev/null 2>&1; then
|
||||||
|
echo "$(date): Usando macchanger para definir MAC de $interface para $mac" | tee -a "$log_file"
|
||||||
|
# Tenta usar macchanger
|
||||||
|
if ip link set "$interface" down && \
|
||||||
|
macchanger -m "$mac" "$interface" >/dev/null 2>&1 && \
|
||||||
|
ip link set "$interface" up; then
|
||||||
|
echo "$(date): Sucesso ao definir MAC com macchanger para $interface (novo: $mac)" | tee -a "$log_file"
|
||||||
|
success=true
|
||||||
|
else
|
||||||
|
echo "$(date): Falha ao definir MAC com macchanger para $interface. Tentando fallback com ip link..." | tee -a "$log_file"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Fallback para ip link (se macchanger não estiver disponível ou falhar)
|
||||||
|
if [ "$success" = false ]; then
|
||||||
|
# Tenta com ip link diretamente
|
||||||
if ip link set "$interface" down && \
|
if ip link set "$interface" down && \
|
||||||
ip link set dev "$interface" address "$mac" && \
|
ip link set dev "$interface" address "$mac" && \
|
||||||
ip link set "$interface" up; then
|
ip link set "$interface" up; then
|
||||||
echo "$(date): MAC address for $interface set to $mac" | tee -a /var/log/set_mac.log
|
echo "$(date): Sucesso ao definir MAC com 'ip link' para $interface (novo: $mac)" | tee -a "$log_file"
|
||||||
success=true
|
success=true
|
||||||
else
|
else
|
||||||
echo "$(date): Failed to set MAC address for $interface" | tee -a /var/log/set_mac.log
|
echo "$(date): Falha ao definir MAC para $interface com ambos os métodos." | tee -a "$log_file"
|
||||||
|
return 1
|
||||||
fi
|
fi
|
||||||
else
|
|
||||||
echo "$(date): Interface $interface not found" | tee -a /var/log/set_mac.log
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Return success (0) or failure (1)
|
# Retorna sucesso (0) ou falha (1)
|
||||||
$success
|
return $([ "$success" = true ] && echo 0 || echo 1)
|
||||||
}
|
}
|
||||||
|
|
||||||
# Function to configure static IP
|
# Function to configure static IP
|
||||||
|
|||||||
Reference in New Issue
Block a user