03:a0:04:d3:00:11
não é um endereço unicast, pois o primeiro octeto precisa ser par. Veja a imagem abaixo para entender melhor. Esta imagem é da Wikipedia - página de endereço MAC
então coloque em vez de 02:a0:04:d3:00:11
por exemplo
Eu me pergunto, por que não posso alterar meu endereço mac ao fazer isso:
sudo ifconfig wlan0 down
sudo ifconfig wlan0 hw ether 03:a0:04:d3:00:11
O erro é SIOCSIFHWADDR: Cannot assign requested address
Eu pesquisei mas não encontrei nada valioso.
P.S Como sempre, não posso fazer isso. Nada funciona. Eu peguei o novo endereço mac que foi incrementado em 1 do meu atual (antigo 11: 11: 11: 11: 11: cf , novo 11: 11: 11: 11: 11: d0 )
sudo ifconfig wlan0 down
sudo ifconfig wlan0 hw ether 11:11:11:11:11:d0
Não houve erro, ele mesmo conectado ao wifi automaticamente depois que eu fiz isso (mesmo que eu não fiz sudo ifconfig wlan0 up)
. Eu pensei que ganhou. No entanto, quando eu fiz
sudo ip addr
Eu vi o mesmo endereço mac de antes. Nada foi alterado.
03:a0:04:d3:00:11
não é um endereço unicast, pois o primeiro octeto precisa ser par. Veja a imagem abaixo para entender melhor. Esta imagem é da Wikipedia - página de endereço MAC
então coloque em vez de 02:a0:04:d3:00:11
por exemplo
tente isso c o que acontece Na verdade, existe um padrão específico de endereço MAC, que é registrado apenas assim, com um endereço MAC aleatório, você não pode alterar o endereço.
ifconfig | grep HWaddr
ifconfig eth0 down
ifconfig eth0 hw ether 00:1E:68:35:FF:91
ifconfig eth0 up
ifconfig eth0 hw ether 00:1d:92:43:f1:29
Melhor da sorte
Suponho que, como você está tentando alterar o HWaddr da sua interface sem fio, você está tentando fazer alguns pentesting sem fio e precisa falsificar seu HWaddr. Bem, existem algumas maneiras de fazer isso, mas eu darei o meu método, já que não o incluí aqui. O seguinte código shell bash é um gerador HWaddr aleatório muito básico que eu criei. Não é perfeito e tem alguns bugs (como certos MACs gerados não sendo permitidos no dispositivo).
Aqui está a função aleatória do HWaddr para o bash:
#!/bin/bash
RAND_MAC() {
gen() {
NUM="$(tr -dc '0-9a-f' </dev/urandom | head -c 2)"
echo -n "$NUM:"
}
for c in {1..6}; do
if [ "$c" -lt "6" ]; then
gen
else
gen | tr -d ':'
fi
done
}
RAND_MAC
Agora vou explicar o que está acontecendo com essa função:
RAND_MAC()
será a declaração da função. Isso significa que o interpretador do shell bash sabe "Ei, existe uma função aqui". e para que ele procure chaves abertas e fechadas {}
. Depois que a função RAND_MAC()
é declarada, há um único {
seguido por uma nova declaração de função aninhada chamada gen()
. Aninhado basicamente significa apenas uma função dentro de uma função. A função gen()
é o que irá gerar aleatoriamente os octetos do HWaddr aleatório. gen()
é uma função independente e ativa somente durante o ciclo for
abaixo de sua execução. Quando gen()
é chamado, uma variável chamada NUM
é atribuída ao valor da saída de um comando. O comando que NUM
está sendo atribuído é $(tr -dc '0-9a-f' </dev/urandom | head -c 2)
. Isso produzirá uma string de 2 caracteres usando os números 0-9 and lower case letters
a-f in random order by pulling from
/ dev / urandom '.
Portanto, agora que a função gen()
é bem explicada, o resto da função principal RAND_MAC()
irá controlar o show. O loop for
irá iterar 6 vezes. Após a sexta iteração, o loop for
é movido para done
e é concluído. O resultado é um HWaddr recém-gerado que você pode usar agora com a interface wlan0
ou qualquer nome da sua interface. A razão pela qual estamos usando funções bash para isso é manter os dados desse script de estar em um escopo global. Queremos manter esses scripts locais para eliminar erros que não entendo aqui. Uma vez que você tenha salvado a função em um arquivo, como algo como /usr/bin/macgen
, dê permissão para ser executado.
user@group:~# chmod +x /usr/bin/macgen
Agora, seu novo script de geração de HWaddr está pronto para ser usado sempre que você desejar na linha de comando do terminal. Você pode chamar a ferramenta usando o comando macgen
.
Agora vem como atribuir este novo HWaddr usando o método que não foi dado.
Muitos sugeriram usar ifconfig
ou talvez iwconfig
para alterar o HWaddr da interface sem fio. Bem, ifconfig
e mesmo iwconfig
são ferramentas depreciadas e foram praticamente substituídas pelas ferramentas chamadas ip
e iw
. A ferramenta que usarei nesta resposta é iw
. Os seguintes comandos serão o que você precisa seguir para criar uma interface virtual, falsificar seu HWaddr e evitar a necessidade de alterar o HWaddr de seu hardware físico real. Esse método, para mim, é muito mais sensato e seguro, já que podemos simplesmente derrubar nossa interface física real com ifconfig
e usar uma interface completamente virtual e falsa para fazer tudo o que queremos:
Primeiro, vamos gerar o novo HWaddr para usar.
user@group:~# macgen
Em seguida, usaremos ifconfig
para desativar o dispositivo real.
user@group:~# ifconfig wlan0 down
Agora podemos criar o VNIC com iw
.
user@group:~# iw dev wlan0 interface add mon0 type monitor addr (new mac here)
E finalmente, trazemos a interface para cima.
user@group:~# ifconfig mon0 up
Agora você deve ter uma interface sem fio falsificada no modo de monitor, bem como um endereço mac falso para essa interface. Se você precisar alterar seu modo de monitor para gerenciado para poder usá-lo para se conectar a um ponto de acesso, faça o seguinte:
Derrube o VNIC:
user@group:~# ifconfig mon0 down
Altere o modo:
user@group:~# iwconfig mon0 mode managed
[Nota rápida] Antes de alterar o modo, certifique-se de que todas as outras interfaces do modo gerenciado estejam inativas, caso contrário, você alternará um sinalizador de erro com iwconfig
.
Traga a interface de volta:
user@group:~# ifconfig mon0 up
Verifique se as configurações estão corretas com:
user@group:~# iw dev
A saída deve ser semelhante a esta:
phy#0
Interface wlo1
ifindex 3
wdev 0x1
addr 00:11:22:33:44:55
type managed
channel 161 (5805 MHz), width: 40 MHz, center1: 5795 MHz
txpower 50.00 dBm
E quando você estiver pronto para se livrar do VNIC, basta apagá-lo:
user@group:~# iw mon0 del
Em seguida, volte sua interface real:
user@group:~# ifconfig wlan0 up
Espero que esta informação ajude. Sinta-se à vontade para perguntar se você está confuso sobre isso.
Como você sabe, apenas o macchanger é uma ferramenta para alterar o endereço mac no Linux. Para alterar o tipo de interface wlan0 ifconfig wlan0 down macchanger -r wlan0 ifconfig wlan0 up -r para mudança aleatória (automática) Você pode obter aqui uma lista deatail de aqui