Altere o endereço MAC no DD-WRT v3.0 através do SSH / scripting

0

EDIT: Este é um WNDR3700v4 da NETGEAR, então está usando um chip Atheros.

Por isso, gostaria de descobrir como alterar automaticamente meu MAC em um cronômetro definido por meio de scripts ou apenas como alterar o MAC por meio do shell.

Eu não tenho conhecimento do Linux, mas fiz isso através do Windows via prompt de comando, mas é praticamente isso.

Desculpe pela lowkey pedindo um spoonfeeding, mas eu fiz algumas buscas no google para ver se alguém tentou mudar o endereço MAC através do SSH e não vi nada que me fizesse sentir confiante o suficiente para me aventurar sem a preocupação de brickar meu roteador.

    
por Jordan Halliday 03.08.2016 / 23:28

1 resposta

0

Sua pergunta se divide em duas partes: como alterar um endereço MAC e como programar um determinado processo.

Alterar endereço MAC

Dado que você não pode instalar utilitários legais como macchanger , você terá que fazer isso manualmente.

  1. Descubra o nome da sua interface de rede. Em muitos casos, isso é eth0 . Certifique-se de encontrar o nome da interface que você realmente deseja alterar (WAN ou LAN, VLAN ...). Neste exemplo, usarei eth0

  2. Verifique seu endereço MAC atual ip link show eth0 . Pode mostrar algo como link/ether 00:11:22:33:44:55

  3. Retire sua interface: ip link set dev eth0 down . Essa é uma grande desvantagem dessa solução, porque destrói toda a rede durante o processo. Certifique-se de que você realmente quer que isso aconteça.

  4. Defina um novo endereço MAC: ip link set dev eth0 address AA:BB:CC:DD:EE:FF

  5. Leve sua interface novamente: ip link set dev eth0 up

Faça um script dele

Em um script, isso pode ser assim:

#!/bin/bash
IF=eth0

# Create a Random MAC, inspired by http://superuser.com/a/218372/475723
# MAC might not be valid since it's completely random. Use the linked answer to add a prefix like 00:60:2F
hexchars="0123456789ABCDEF"
MAC=$(for i in {1..12} ; do echo -n ${hexchars:$(( $RANDOM % 16 )):1} ; done | sed -e 's/\(..\)/:/g;s/:$//')

ip link set dev $IF down
ip link set dev $IF address $MAC
ip link set dev $IF up

Salve este script em um local de ajuste (suponhamos /root/mac.sh ) e torne-o executável em chmod +x /root/mac.sh .

Você pode testar seu script executando /root/mac.sh .

Tempo executando processos pelo cron

Com cron , você pode fazer com que os processos sejam executados regularmente, por exemplo, uma vez por dia.

  1. Edite seu arquivo cron por crontab -e

  2. Insira uma linha com as informações necessárias: quando e o quê. Por exemplo, 0 1 * * * /root/mac.sh . Isso executaria o comando todos os dias, mês, ano às 01:00. Por favor, verifique as páginas de ajuda do cron para obter informações sobre como configurá-lo para diferentes intervalos.

Por favor, não se esqueça de editar o arquivo crontab como root.

    
por 04.08.2016 / 00:12