Maneira fácil de obter o endereço MAC da placa de rede

3

Eu uso muitos scripts que envolvem os endereços Mac das minhas placas de rede. Existe um arquivo que eu possa ler ou um comando que eu possa usar para obter apenas o endereço MAC? Não quero cabeçalhos nem nada, apenas 1 linha de saída que possui o endereço Mac. Eu gostaria de definir isso como uma variável de ambiente no login. Eu uso o Arch Linux x64

    
por Wolfizen 31.01.2013 / 20:24

2 respostas

7
 VARIABLE="$(cat /sys/class/net/$IFACE/address)"

É difícil fazer isso de maneira mais simples.

Bem, na verdade:

 read -r MACADDRESS < /sys/class/net/$iFACE/address

é ainda mais simples e não inicia nenhum processo adicional.

    
por 31.01.2013 / 20:40
0

Isso funciona para mim. Provavelmente pode ser otimizado um pouco:

/sbin/ifconfig eth0 | grep -o 'HWaddr  *[0-9A-F:]*' | sed -s 's/HWaddr *//'

Eu não acho que você possa simplificar muito isso. Eu fiz um strace no ifconfig, e parece que você puxa o addr MAC com um ioctl () em um soquete, não de um arquivo / proc.

    
por 31.01.2013 / 20:30