Como posso alterar automaticamente o meu endereço MAC sempre que meu dispositivo de rede estiver ativo ou inativo?

2

script automático do macchanger não funciona.

Eu procurei aqui antes de perguntar e tudo que encontrei foi executar o macchanger em /etc/rc.local com este script simples:

ifconfig enp2s0 down
macchanger -r enp2s0
ifconfig enp2s0 up

(Eu apenas modifiquei eth0 porque o nome do meu dispositivo é enp2s0)

É evidente que apenas configuramos um endereço MAC aleatório na inicialização, mas se eu reconectar meu dispositivo de rede, ele sempre recebe meu endereço MAC real, por isso não é o que eu estava procurando.

Eu tentei pelo menos deixar um endereço falsificado permanente mas a opção mac spoof no gerenciador de rede padrão do ubuntu não faz qualquer coisa , sempre enviou meu endereço real.

Não me lembro exatamente onde, mas li em algum lugar que isso poderia ser culpa do sistema, mas não tenho certeza de como lidar com isso ou se realmente é culpa dele.

Qual é o caminho certo para obter um endereço MAC aleatório sempre que eu conectar meu dispositivo de rede no Ubuntu? Estou ficando sem ideias.

    
por Hola 14.11.2017 / 18:40

2 respostas

2

Trabalhando na postagem do blog do Gnome . Estas configurações para o Ubuntu 17.10

Via CLI

Primeiro, obtenha o nome da conexão com a internet com fio

nmcli connection show

Em segundo lugar, defina a conexão enternet para gerar um endereço "estável" ou "aleatório"

nmcli connection modify "wired_connection_name" ethernet.cloned-mac-address random

Para WiFi, use wifi.cloned-mac-address . No gerenciador de rede 1.2.6, você precisará definir um endereço MAC em vez de random .

Por fim, verifique seu endereço MAC, reduza a conexão e verifique seu endereço mac novamente

ifconfig | grep Ether
nmcli connection down "wired_connection_name"
nmcli connection up "wired_connection_name"
ifconfig | grep Ether

Via GUI

O programa nm-connection-manager também pode ser usado para acessar esta configuração, exibindo uma tela como a mostrada abaixo, onde a caixa suspensa para 'Cloned MAC Address' pode ser alterada para uma das várias configurações.

    
por Charles Green 14.11.2017 / 20:41
0

Podemos atingir esse objetivo com um script simples que usa ifconfig .

Crie um arquivo de script executável no diretório /etc/network/if-up.d , assim o script será executado toda vez que o comando ifup for executado, inclusive na inicialização do sistema. Vamos chamar o script mac-changer :

sudo touch /etc/network/if-up.d/mac-changer
sudo chmod +x /etc/network/if-up.d/mac-changer
sudo nano /etc/network/if-up.d/mac-changer
  • Copie o conteúdo do script abaixo e use em nano : Deslocar + Inserir para colar; Ctrl + O e Enter para salvar; Ctrl + X para sair.

O conteúdo do script mac-changer deve ser:

#!/bin/bash

change_mac(){
        # Prevent enless loop on error
        if (( COUNT >= 10 )); then exit 0; else COUNT=$(( COUNT + 1 )); echo "Attempt: $COUNT"; fi
        # Generate a new MAC address
        MAC="$(echo $RANDOM | md5sum | head -c 17 | sed -r 's/(..)./:/g')"
        # Change the MAC address of the target network interface
        /sbin/ifconfig "" hw ether "${MAC}"
        # Chech whether the MAC is successfully changed anf if is not call the function again
        if [ $? -ne 0 ]; then change_mac; fi
        # Log the change
        echo "Interface:  | MAC: $MAC"
}

# Call of the function; Change 'enp0s25' with the actual interface in use; Create a log file '/tmp/mac-changer-...'
change_mac 'enp0s25' > /tmp/mac-changer-enp0s25 2>&1

Notas:

  • Na maioria dos casos, se você quiser, pode executar o script diretamente por sudo e o endereço MAC será alterado:

    sudo /etc/network/if-up.d/mac-changer
    
  • Observe que algumas interfaces de rede não suportam o recurso de alteração de MAC.

Aqui está a demonstração disso, como o script funciona:

Referências:

por pa4080 14.11.2017 / 23:12