Não é possível alterar meu endereço mac - não é possível atribuir o endereço solicitado

4

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.

    
por アレックス 20.02.2014 / 09:00

4 respostas

8

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

    
por Makhlouf GHARBI 12.10.2014 / 18:05
1

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

    
por smn_onrocks 20.02.2014 / 09:20
1

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.

    
por Yokai 03.07.2017 / 10:54
0

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

    
por Harinder 11.06.2016 / 04:42