Como fazer
Sem qualquer aplicativo de terceiros, podemos simplesmente usar a ferramenta cli% do NetworkManager nmcli
para alterar o endereço MAC no terminal, nos scripts, etc.
nmcli connection modify enp3s0 802-3-ethernet.cloned-mac-address 02:7d:xx:xx:...
- Altere enp3s0 com o nome da sua conexão desejada, por exemplo: Página inicial, Wi-Fi do Office, etc.
Se você estiver tentando clonar uma conexão Wi-Fi, use 802-11-wireless.cloned-mac-address
em vez de 802-3-ethernet.cloned-mac-address
.
Também precisamos de uma maneira de gerar um MAC aleatório, aqui está uma solução simples para criar um endereço MAC aleatório completamente ( Base source ):
echo $RANDOM | md5sum | sed\
's/^\(..\)\(..\)\(..\)\(..\)\(..\)\(..\).*$/:::::/'
Solução final
Finalmente, no seu script, use algo assim:
mac=$(echo $RANDOM | md5sum | sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\)\(..\).*$/:::::/')
nmcli connection modify enp3s0 802-3-ethernet.cloned-mac-address $mac
Também pode ser necessário recarregar a conexão:
nmcli connection down enp3s0
nmcli connection up enp3s0
Você pode colocar em .profile
ou qualquer outro lugar que você quiser.
Cria um mac aleatório com um OUI válido
Se você não quiser um endereço mac completamente aleatório, faça o download this Repositório GNU MAC Changer GitHub.
Em seguida, use esta linha para gerar endereços mac:
shuf -n1 OUI.list | cut -f1-3 -d' ' | tr ' ' ':' | xargs -I company echo\
company:'echo $RANDOM|md5sum|sed 's/^\(..\)\(..\)\(..\).*$/::/''
-
shuf -n1 OUI.list
: seleciona uma linha aleatória desse arquivo. -
cut -f1-3 -d' '
corta os três campos necessários -
tr ' ' ':'
o transforma em um formato que queremos -
xargs ...
cria as outras três partes aleatórias e concatena o resultado.