helio.loureiro.eng.br
  • Home
  • Unix
  • Linux
  • Blog
  • Python
  • Programação
  • Tudo
  • Suécia
  1. You are here:  
  2. Home
  3. Programação
  4. Shell Scripts

Os artigos mais lidos de 2024

  • linux-br.org num ritmo mais lento
  • Criando um serviço de relay de DNS-over-HTTPS
  • Minha palestra sobre a história do Unix na IX BSD Day
  • Pedal forte de 2023 em dados do Google
  • Linux vs GNU/Linux

Script para gerar MAC randômico

Details
Written by: Helio Loureiro
Category: Shell Scripts
Published: April 21, 2009
Hits: 8560

 Por motivos bizarros e nada claros para ninguém, resolveram fazer alguma "regra de segurança" na empresa para bloquear as máquina que não estejam rodando Windows Vista. Não que eu seja o único fora do padrão, mas existem os consultores externos que, assim como eu, são lembrados dessa limitação de tempos em tempos.

Como resolvi não perder mais tempo com isso, ou ficar bloqueado durante horário de trabalho sem aviso, e não migrar pro "Vista", resolvi fazer um script que altera meu MAC address da placa de rede a cada boot.

Fiz uma função em shell para poder ser utilizado em qualquer Unix, mas estou rodando em bash e não testei seu funcionamento em /bin/sh e /bin/ksh.


make_mac() { 
   mac="" 
   for blk in 0 1 2 3 4 5 
      do 
      for id in 0 1 
         do 
         macid=`jot -r 1 0 15` 
         case $macid in 
            10) macid="a";; 
            11) macid="b";; 
            12) macid="c";; 
            13) macid="d";; 
            14) macid="e";; 
            15) macid="f";; 
         esac mac="$mac$macid" 
      done 
      mac="$mac:" 
   done 
   mac=`echo $mac | sed 's/:$//'` 
   if [ ! $mac ]; then 
      echo "Failed to generate MAC" 
      exit 1 
   else 
      echo "$mac"
   fi 
}

Para utilizar, basta fazer uma chamada como no código abaixo (já adaptado pra Linux e FreeBSD):


mymac=`make_mac` 
echo "Using MAC ADDR: $mymac" 
case `uname -s` in
   FreeBSD) INTF="bge0" 
                  ifconfig $INTF lladdr $mymac ;; 
   Linux) INTF="eth0" 
             ifconfig $INTF hw ether $mymac ;; 
   *) echo "Operating System not supported" 
       exit 1 
esac

Page 3 of 3

  • 1
  • 2
  • 3

Estatísticas

  • Users 2
  • Articles 457
  • Articles View Hits 3238851

Imagem aleatória