O objetivo:
Você quer um modificador MAC que você pode chamar usando um atalho de teclado e alimentá-lo com um MAC? Também deve ser capaz de lê-lo da área de transferência?
Aqui está o que você quer:
Preparação:
Paraacessaraáreadetransferência,precisamosdexsel.Instale-ocomocomando
sudo apt-get install xsel
Os scripts:
Precisamos fazer quatro pequenos scripts de shell para fazer seu trabalho.
Crie os seguintes arquivos em /usr/local/bin usando seu editor de texto simples favorito. Você precisará de privilégios sudo / root para salvá-los no local desejado.
-
get-mac:#! /bin/bash ip addr show eth0 | awk '/ether/{print $2}' -
get-mac-dialog:#! /bin/bash zenity --info --title "MAC Changer" --text "Current MAC address: $(get-mac)" 2>/dev/null -
change-mac:#! /bin/bash ifconfig eth0 down && ifconfig eth0 hw ether "$@" || exit 1 ifconfig eth0 up -
change-mac-dialog:#! /bin/bash oldmac=$(get-mac) newmac=$(zenity --entry --title "MAC Changer" --text "New MAC address:" --entry-text $oldmac 2>/dev/null) && gksudo change-mac $newmac || zenity --error --title "MAC Changer" --text "Failed to change MAC address" -
paste-mac:#! /bin/bash gksudo change-mac $(xsel -ob)
Se a sua interface de rede tiver outro nome que não seja eth0 , você deve substituir todas as 4 ocorrências dele nos scripts pelo nome real!
Agora defina as propriedades e permissões corretas:
chmod 755 /usr/local/bin/get-mac /usr/local/bin/get-mac-dialog /usr/local/bin/change-mac /usr/local/bin/change-mac-dialog /usr/local/bin/paste-mac
sudo chown root: /usr/local/bin/get-mac /usr/local/bin/get-mac-dialog /usr/local/bin/change-mac /usr/local/bin/change-mac-dialog /usr/local/bin/paste-mac
Resumo de uso:
-
get-mac:Basta imprimir o endereço MAC atual de
eth0no terminal. -
get-mac-dialog:Mostre uma pequena janela de diálogo exibindo o endereço MAC atual de
eth0. -
change-mac:Tente alterar diretamente o endereço MAC de
eth0. Ele desconectará e reconectará a interface para fazer isso. Você deve executar isso como root!Exemplo:
sudo change-mac 12:34:56:78:9a:bc -
change-mac-dialog:Mostre um pequeno prompt da GUI solicitando que você digite o novo endereço MAC (o texto padrão é o MAC atual). Você será solicitado a fornecer uma senha sudo usando a GUI
gksudo. -
paste-mac:Chame
gksudo change-maccom o conteúdo atual da área de transferência como argumento. Você será solicitado a fornecer uma senha sudo usando a GUIgksudo.
Atalhos:
Suponho que você possa criar atalhos personalizados para scripts, caso contrário, consulte aqui .
Note que você provavelmente não deve criar um atalho para change-mac (precisa ser executado como root e precisa de um MAC como argumento) ou get-mac (imprime a saída para o terminal). Use change-mac-dialog e get-mac-dialog como substituição de GUI para eles. paste-mac não precisa de nenhuma entrada nem cria saída, então você pode fazer um atalho para isso sem nenhum problema.
