Vous êtes sur la page 1sur 10

conectividade

Como mudar o MAC Address de Placas


de Rede
Jefferson, 25 de novembro de 2007
0

Neste texto, quando eu falar “MAC” estou me referindo a “endereço MAC” (MAC
Address).

O método abordado aqui costuma ser chamado de “MAC spoofing”.

Este texto aborda a mudança do MAC de placas de rede em computadores rodando


Windows XP. A mudança do MAC em aparelhos como modems e roteadores não pode
ser feita por este processo. Por sorte, muitos modems e roteadores tem seu próprio
método de escolha do MAC.

Por que mudar o MAC?

Existem motivos maliciosos para isso (um monte deles), mas também existem motivos
legítimos. No meu caso, precisei estudar o assunto quando instalei internet via rádio na
minha casa e descobri que o acesso estava amarrado ao MAC da placa de rede fornecida
pelo provedor. Isso é feito para dificultar o acesso não autorizado à rede sem fio, mas eu
não gosto da idéia de ficar dependendo de uma peça de hardware que eu não posso
trocar para fazer diagnóstico.

Nota: No mundo Windows, apenas depois do Windows 2000 isso passou a ser possível
(e fácil) porque o sistema operacional veio com suporte a isso. Todo mundo que
aprendeu como funcionam as redes Windows antes de 2000 e não se atualizou continua
achando que mudar o MAC sem um “hack” eletrônico seja impossível, porque era
mesmo.

Nota: Eu testei o método também no Windows Vista Starter Edition e aparentemente


funcionou. Os locais no Registro são encontrados da mesma maneira e o MAC aparece
alterado. Mas como eu só uso o Vista em testes, meu tutorial só aborda o XP. Em tese, o
método também funciona no Windows 2000 e 2003, mas não tenho tempo para
comprovar isso agora.

A mudança não é permanente. Você apenas informa ao XP para usar outro MAC ao
construir os pacotes de dados. Se você formatar o HDD ou retirar a placa e colocar em
outra máquina, o MAC original volta a valer.

Toda placa de rede tem um MAC único. Em teoria não deveriam existir duas placas no
mundo com o mesmo MAC. Isso é garantido em parte porque os três primeiros bytes do
MAC são únicos para cada fabricante. E como tentar usar duas placas com o mesmo
MAC numa mesma rede pode criar uns problemas enlouquecedores, um fabricante não
tem nenhum interesse em deixar que isso aconteça com os seus produtos. O MAC é
gravado em uma memória EEPROM em todas as placas de rede, desde as pré-”plug and
play” até hoje.

As fotos abaixo destacam a memória EEPROM em dois modelos de placas WIFI:

Com o conhecimento e o equipamento é possível mudar o endereço MAC gravado na


EEPROM, mas em um PC rodando o Windows XP você não precisa ter esse trabalho
todo.

Nesta página eu abordo três métodos:

• Um inteiramente manual, manipulando o Registro do Windows;


• Um semi-automático, onde você faz a mudança no Registro usando arquivos
.reg;
• Um automático, usando software de terceiros;

Como obter o MAC em uso

O modo mais óbvio é procurando pela etiqueta na própria placa, mas se a a placa não
tiver etiqueta ou já estiver instalada, sempre tem um jeito.

Estando no PC
Estando em outro PC na mesma sub-rede

Você só precisa saber o IP da máquina em questão. Abra um prompt de comando e dê


os seguintes comandos:

ping endereçoIP

arp -a endereçoIP

Só funciona se o endereço responder ao PING

Por exemplo, como o endereço IP do exemplo acima é 192.168.0.121, basta fazer isso
em outra máquina:
Nota: “arp -a” não vai buscar o endereço MAC na rede. O endereço foi obtido quando
demos o PING e está no cache, por isso se você executar esses comandos em uma
máquina “A” para obter o MAC da máquina “B” e em seguida mudar o MAC da
máquina “B”, se testar com “arp -a” de novo, o MAC antigo será retornado. É preciso
usar PING novamente para atualizar o endereço.

O método manual
Para mudar o MAC no XP você precisa identificar exatamente o adaptador de rede cujo
MAC você quer mudar. Isso é simples em um computador “simples” com uma única
conexão de rede, mas se você já tiver instalado ou mesmo testado adaptadores
Bluetooth, Vmware, outras placas de rede, etc, o registro vai estar apinhado de
referências a adaptadores de rede. Você precisa ser capaz de encontrar o correto.

O modo mais “direto” é se você souber exatamente qual o “nome da conexão”.

Nota: o nome dado a uma conexão é único. Você também pode procurar pelo nome do
driver, mas esse método pode levar a “falsos positivos”, porque se por exemplo você
tem (ou mesmo teve) duas placas de rede iguais no PC vão existir duas referências ao
mesmo driver no registro e você pode escolher a errada. O mesmo pode ocorrer se você
tirar a placa de rede de um slot PCI e colocar em outro. Se sua placa de rede tiver
“passeado” por todos os slots de sua placa mãe, vai existir uma referência no registro
para cada slot, sem meios simples de descobrir qual a referência ativa.

Na imagem ao lado, meu adaptador de rede está


configurado para exibir o status quando conectado (o
default do XP é exibir apenas em caso de problemas) e
basta mover o mouse sobre o ícone para ver o nome da
conexão. No meu caso é “Rede 100 Mbps” porque eu
dei esse nome, mas na maior parte dos casos vai ser
“Conexão Local”
Alternativamente, abrindo “Conexões de Rede” no Painel de Controle você vai ver uma
lista parcial das conexões. No meu caso, como eu dei a cada uma um nome descritivo, é
fácil identificar a correta.

Alguns drivers já tem suporte à mudança

A imagem abaixo mostra dois caminhos possíveis para chegar ao local onde é possível
configurar o MAC
No exemplo acima, a opção não existe. Quando a opção existe se parece mais ou menos
com isso:
No caso acima, basta inserir o novo valor em “value” e depois desativar e reativar a
placa de rede.

Quando o modo mais fácil não funciona

Sabendo qual o nome da sua Conexão de Rede, basta usar Regedit.exe para olhar na
chave:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\
{4D36E972-E325-11CE-BFC1-08002BE10318}
1. O caminho da chave raiz é sempre este. Você vai olhar as sub-chaves uma por
uma em “connection”…
2. …até encontrar o nome da sua conexão de rede.
3. Anote então este número.

O próximo passo é em outro lugar bem próximo (a única diferença está em negrito) no
Registro:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-
E325-11CE-BFC1-08002bE10318}

1. Olhe em todas as sub-chaves até encontrar…


2. …a que tenha o valor NetCfgInstanceId igual ao que você anotou
3. NetworkAddress tem o valor do MAC configurado pelo usuário. Se estiver
limpo, o adaptador está usando seu endereço de fábrica. Se o item não existir,
crie um.
• Para não ter que procurar novamente, clique com o botão direito sobre a chave
mais próxima (no caso acima, é a pasta de nome “0001″) e peça “copiar nome da
chave”. Salve em algum lugar.
• Clique duas vezes para mudar o valor. Não use nenhum tipo de separador. Por
exemplo, se o MAC desejado for 00-16-E9-74-1D-27 você deve digitar
0016E9741D27;
• Desative o adaptador de rede (“reparar” não basta);
• Ative o adaptador;
• Teste. Você já deverá aparecer com um novo MAC. Note a “ironia” do XP
continuar chamando de “endereço físico” um endereço que de físico não tem
mais nada

Automatizando

Clique com o botão direito sobre chave mais próxima (no caso acima, é a pasta de nome
“0001″) e peça “Exportar”. Isso vai criar um arquivo .reg com todo o conteúdo da chave
e que pode ser editado com o Notepad. O conteúdo do arquivo começa mais ou menos
assim:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-
08002bE10318}\0001]
"AdapterCFID"="811929862"
"AdapterType"="5"
"MediaType"="1"
"ReceiveBurstIndicate"="32"
"ReceiveThreshold"="0"
"TransmitThreshold"="0"
"BurstLength"="1"
"MapRegisters"="32"
"EarlyReceive"="0"
"EarlyTransmit"="0"
"TransmitBuffers"="32"
"ReceiveBuffers"="64"
"NetworkAddress"="0016E9741D27"
"Characteristics"=dword:00000084
"BusType"="5"
"ComponentId"="pci\\ven_1106&dev_3065"
"ConnectionType"="0"
"ValidatePacketLen"="1"
"InfPath"="netvt86.inf"
"InfSection"="VT3065.ndi.nt"
"ProviderName"="Microsoft"

Você pode até remover tudo do arquivo e deixar apenas estas linhas:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-
08002bE10318}\0001]
"NetworkAddress"="0016E9741D27"

Edite o arquivo com o MAC que você desejar e salve. Você pode salvar com outros
nomes para ter um arquivo para cada MAC que deseja usar.

Tendo feito isso, o procedimento automatizado se resume a:

• Clicar duas vezes sobre o arquivo .reg desejado para instalar;


• Desativar e ativar o adaptador;
É importante ter em mente que esses arquivos .reg só servem no PC onde foram criados.

O método inteiramente automático


Eu não vou entrar em maiores detalhes, mas existem dois softwares que podem fazer
isso por você:

• MACshift – Open Source – Só pode ser usado por linha de comando. Só


funciona no Windows XP.
• SMAC – Tem uma GUI, mas não é sequer gratuito. Só aceita linha de comando
na “Command Line Edition” (US$50), mas segundo a propaganda funciona no
2000, XP, 2003 e Vista;

Ambos permitem a troca do MAC sem precisar reiniciar o Windows.

Francamente, pelo menos no Windows XP a mudança do MAC é tão trivial que acho
um absurdo o que cobram pelo SMAC, por isso nem sequer baixei para testar ainda.
Meu preferido é, óbviamente, o MACshift.

Vous aimerez peut-être aussi