Altere o endereço de hardware com o MAC Changer

O macchanger é um programa utilitário próprio para exibir e manipular endereços físicos MAC das interfaces de rede presentes no seu sistema Linux.
Se você costuma realizar operações no endereço de hardware MAC de seu sistema usando o ifconfig ou editando o arquivo de configuração /etc/network/interfaces, precisa conhecer este pequeno programa — que é livre e licenciado sob a GPL 3.0v.
Com este aplicativo é mais fácil fazer alterações consistentes nas interfaces de rede no Linux.
Network lights

Como instalar e usar o MACChanger

Este post está sendo escrito e testado em uma máquina com o Trisquel GNU/Linux 7.0 instalado — uma distro baseada no Debian, tal como o Ubuntu, o Linux Mint etc.
Aqui, vou usar o apt-get para baixar e instalar o aplicativo:


sudo apt-get install macchanger

Para verificar o endereço físico da máquina, use a opção --show acompanhada da interface de rede que você deseja verificar:


macchanger --show eth0

Como você pode ver (abaixo) o valor atual (current) é o mesmo do permanente, gravado no firmware ou na ROM do dispositivo de acesso à rede:

Current MAC:   6c:ae:8b:04:da:48 (IBM Corporation)
Permanent MAC: 6c:ae:8b:04:da:48 (IBM Corporation)

Não será possível alterar o valor permanente, mas apenas o valor “atual” ou current.
Como as outras máquinas da rede só vão enxergar este valor, alterá-lo será o suficiente para nós.

Como alterar o endereço físico da interface de rede como MACChanger

Os primeiros bits do endereço MAC da sua interface de rede, são os que correspondem ao fabricante. No caso do meu exemplo, IBM Corporation.
Ao usar a opção --list, é possível ver a lista de bytes relacionados a fabricantes. Use o comando grep para filtrar apenas os que dizem respeito ao da sua placa:

macchanger --list | grep 6c:ae:8b

15416 - 6c:ae:8b - IBM Corporation

Uma outra forma de listar fabricantes é indicar parte de seu nome, assim:


macchanger --list=Lenovo

Este comando é sensível à caixa das letras.

Misc MACs:
Num    MAC        Vendor
---    ---        ------
1564 - 00:06:1b - Notebook Development Lab.  Lenovo Japan Ltd.
4835 - 00:12:fe - Lenovo Mobile Communication Technology Ltd.
10763 - 00:59:07 - LenovoEMC Products USA, LLC
13320 - 14:9f:e8 - Lenovo Mobile Communication Technology Ltd.
14691 - 50:3c:c4 - Lenovo Mobile Communication Technology Ltd.
15382 - 6c:5f:1c - Lenovo Mobile Communication Technology Ltd.
15965 - 80:cf:41 - Lenovo Mobile Communication Technology Ltd.
16548 - 98:ff:d0 - Lenovo Mobile Communication Technology Ltd.
17722 - c8:dd:c9 - Lenovo Mobile Communication Technology Ltd.
17747 - cc:07:e4 - Lenovo Mobile Communication Technology Ltd.
17965 - d4:22:3f - Lenovo Mobile Communication Technology Ltd.
18103 - d8:71:57 - Lenovo Mobile Communication Technology Ltd.
18569 - ec:89:f5 - Lenovo Mobile Communication Technology Ltd.

Wireless MACs:
Num    MAC        Vendor
---    ---        ------

Ou seja, quando os primeiros bytes de um endereço MAC forem “6c:ae:8b”, sabemos que o fabricante da interface de rede é “IBM Corporation”.
Isto significa que é possível a um administrador de redes ter políticas específicas para barrar, filtrar, monitorar, permitir acessos de determinados fabricantes de hardware?
Com certeza, sim.
Relação de fabricantes e vendedores de interfaces de rede
Para alterar aleatoriamente a identificação do fabricante e manter o restante do endereço inalterado, use a opção --another:


sudo macchanger --another eth0

Note que apenas os primeiros bytes do endereço (referentes ao fabricante) são alterados:

Current MAC:   6c:ae:8b:04:da:48 (IBM Corporation)
Permanent MAC: 6c:ae:8b:04:da:48 (IBM Corporation)
New MAC:       00:02:64:04:da:48 (AudioRamp.com)

A escolha do fabricante é aleatória. Mas a opção --another faz uma escolha fiel ao “tipo” do fabricante.
Se quiser alterar apenas a última parte do endereço, mantendo a identificação do fabricante, use --ending:


sudo macchanger --ending eth0


Current MAC:   00:02:64:04:da:48 (AudioRamp.com)
Permanent MAC: 6c:ae:8b:04:da:48 (IBM Corporation)
New MAC:       00:02:64:c1:06:6f (AudioRamp.com)

Para escolher aleatoriamente outra identificação de fabricante, de outro “tipo”, use a opção -A — o “A” maiúsculo indica uma escolha aleatória “mais forte”, se isto ajuda a memorizar.


sudo macchanger -A eth0

Current MAC:   00:02:64:c1:06:6f (AudioRamp.com)
Permanent MAC: 6c:ae:8b:04:da:48 (IBM Corporation)
New MAC:       00:0a:1d:c1:06:6f (Optical Communications Products Inc.)

Se quiser mudar completamente o endereço, use a opção --random.
Você pode combinar esta opção com --bia (burned-in address) para fazê-lo parecer com um endereço físico gravado no hardware.
Quando esta opção não é usada, o novo MAC mantém o bit local-administered intacto.
Para voltar atrás nas alterações e restaurar o endereço padrão, use --permanent.


sudo macchanger --permanent eth0


Current MAC:   00:0e:63:c1:06:6f (Lemke Diagnostics GmbH)
Permanent MAC: 6c:ae:8b:04:da:48 (IBM Corporation)
New MAC:       6c:ae:8b:04:da:48 (IBM Corporation)

Como fornecer seus próprios valores para compor o novo endereço MAC

Com a opção --mac, é possível fornecer livremente os novos valores para a sua interface de rede.
A sintaxe é essa: --mac=XX:XX:XX:XX:XX:XX.
Veja um exemplo:


sudo macchanger --mac=ec:3f:05:04:da:48 eth0


Current MAC:   ec:3f:05:04:da:48 (Institute 706, The Second Academy China Aerospace Science & Industry Corp)
Permanent MAC: 6c:ae:8b:04:da:48 (IBM Corporation)
New MAC:       00:00:0c:04:da:48 (CISCO SYSTEMS, INC.)

Se você obtiver alguma mensagem de erro, leia o post Como alterar permanentemente o endereço de hardware MAC.
Use o conhecimento com responsabilidade! 🙂

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia. Fã de séries, como "Rick and Morty" e "BoJack Horseman". Me siga no Twitter e vamos trocar ideias!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *