como posso aleatoriamente meu endereço MAC toda vez que meu WiFi é ligado?

8

Dada a crescente prevalência de sistemas que rastreiam os movimentos das pessoas por seus endereços Mac, eu gostaria de ocultar os meus.

Eu tenho uma nota 2 da galáxia enraizada com o busybox instalado. Eu posso mudar meu endereço MAC da seguinte maneira:

busybox ifconfig wlan0 hw ether 11:22:33:44:55:66

no entanto, se eu desativar e reativar minha conexão sem fio ou reiniciar o telefone, ele será esquecido. existe algum lugar em que eu possa colocar um script para que ele seja executado sempre que minha conexão sem fio for ligada?

mc0e
fonte
Dê usurpação-fi uma tentativa
mbaljeetsingh

Respostas:

6

E a ferramenta Pry-Fi da Chainfire, anunciada na XDA ?
Funciona muito bem e está disponível na loja oficial do Google em:

Aqui está uma captura de tela mostrando a ferramenta em ação…

captura de tela da ferramenta Pry-Fi do Chainfire

Pedro
fonte
Eu tentei o Pry-Fi. Apesar de meu telefone ter sido listado como testado, o wi-fi ficou totalmente inutilizável. Eu não conseguia nem ver nenhuma rede para conectar. Eu tive que desinstalar para ter acesso à minha rede doméstica novamente.
Mc0e 15/08/16
3

Você pode fazer isso usando, por exemplo , o Tasker , a poderosa ferramenta de automação:

  • Condição: Iniciar o monitor (ou seja, o Tasker foi iniciado; alternativamente: Inicialização do dispositivo , ou seja, o processo de inicialização foi concluído)
  • Tarefa: Execute o Shell , com seu comando como parâmetro

Se você gosta mais, você pode usar Variable Randomize para gerar um MAC diferente a cada vez ...

Izzy
fonte
Isso seria desencadeado como parte do processo de ficar on-line ou logo depois? Se possível, eu gostaria de não transmitir o MAC do hardware.
Mc0e
Isso acionaria onde você o definisse, conforme descrito: O início do monitor ocorre quando o Tasker é ativado, o que geralmente ocorre imediatamente após a inicialização (ou quando você inicia / reinicia o Tasker ou ativa o serviço de Monitoramento manualmente). Se você usar a Inicialização do dispositivo como condição, ela só será "acionada" após a inicialização, mas não quando você iniciar / reiniciar o monitor Tasker manualmente. Portanto, nos dois casos, seria aplicado imediatamente após a inicialização. Não sei dizer se a inicialização da rede pode ser mais rápida.
Izzy
A ativação teria que rastrear quando o wi-fi estiver ativado e alterar o MAC antes da transmissão de qualquer pacote. Não estou tão confiante de que possa confiar nisso, mas talvez esteja errado.
Mc0e
@ mc0e Se você tiver dúvidas sobre isso, adicionar um segundo perfil com uma condição diferente (algo que os gatilhos das alterações na rede), e aplicar a mesma tarefa a ele :)
Izzy
2

Além da outra resposta com Tasker ("Você pode fazer isso usando, por exemplo, Tasker, a poderosa ferramenta de automação:"), aqui está uma pequena tarefa (exportação de descrição) com a randomização do MAC:

TestMacChanger (130)
    A1: Variable Set [ Name:%count To:0 Do Maths:On Append:Off ] 
    <randomstart>
    A2: Variable Randomize [ Name:%random Min:0 Max:15 ] 
    A3: Variable Convert [ Name:%random Function:Decimal to Hex Store Result In:%rhex ] 
    A4: Test Variable [ Type:Length Data:%rhex Store Result In:%len ] 
    A5: Variable Set [ Name:%rhex To:0%rhex Do Maths:Off Append:Off ] If [ %len eq 1 ]
    A6: Variable Convert [ Name:%rhex Function:To Upper Case Store Result In: ] 
    A7: Variable Set [ Name:%mac To:%mac:%rhex Do Maths:Off Append:Off ] If [ %mac Set ]
    A8: Variable Set [ Name:%mac To:%rhex Do Maths:Off Append:Off ] If [ %mac !Set ]
    A9: Variable Add [ Name:%count Value:1 Wrap Around:0 ] 
    <randomend>
    A10: Goto [ Type:Action Label Number:1 Label:randomstart ] If [ %count < 6 ]
    A11: Variable Set [ Name:%mac To:00:11:22:33:44:55 Do Maths:Off Append:Off ] If [ %mac !Set ]
    A12: Flash [ Text:%mac Long:On ] 
    A13: Run Shell [ Command:su
busybox ifconfig wlan0 hw ether %mac Timeout (Seconds):0 Use Root:On Store Output In:%output Store Errors In:%error Store Result In: Continue Task After Error:On ] 
    A14: Flash [ Text:%error Long:Off ] If [ %error Set ]

Isso está fazendo um loop para 6 valores hexadecimais aleatórios para obter um mac aleatório como, por exemplo, 01: 4F: 89: BA: 3F: 0C Em seguida, ele está configurando esse mac aleatório como seu próprio mac.

Eu posso ver o novo mac com este comando:

busybox iplink show wlan0

Após uma reinicialização, o mac antigo é redefinido.

franco
fonte
1

Use o aplicativo da Chainfire chamado Pry-Wifi, que faz exatamente isso.

t0mm13b
fonte
-2

Eu sinto que isso poderia ser feito com um script bash ou editando o arquivo init para incluir o comando que você tem aqui.

Em branco
fonte
11
Isso não é útil; o que OP colocaria no script? Para onde iria?
Amendoim
11
Esta é realmente uma repetição das coisas que propus na pergunta original. Não tenho nenhum problema ao escrever um script, mas não sei para onde ele precisaria ser acionado cada vez que meu telefone fica online.
Mc0e
Além disso, isso exigiria a modificação da imagem de inicialização; Os scripts init fazem parte disso. Quaisquer modificações dos arquivos init no "sistema de arquivos montado" serão perdidas após a inicialização (veja por exemplo initrd @ Wikipedia para detalhes).
Izzy
Se eu conseguir definir o endereço MAC que sobrevive à NIC para cima e para baixo, é um passo adiante, mesmo que eu precise modificar o script após a reinicialização de cada telefone. Especialmente se isso significa que o endereço MAC é definido antes que qualquer pacote seja transmitido cada vez que o link wifi é ativado.
Mc0e