Outro dia estava fuçando como fazer isso, já que minha caminhada em python começou a pouco tempo e eu ainda apanho um bocado, mas para "facilitar" ou disseminar o conhecimento colocarei abaixo as linhas de código que achei em um blog de um colega blogueiro.
Primeiramente em shell, poderiamos simplesmente usar um comando e editar a saida dele usando shell. Da seguinte forma:
$mac=$(ifconfig eth0) && mac=${mac:45:25} && echo $mac >> arquivo.txt
a saida no meu caso foi a seguinte:
00:24:00:b0:e7:00
Mas sinceramente isso não fica tão agradavel de se usar... Pelo menos não para mim...
Então podemos fazer um pequeno script em python
O script em python da mesma forma que o shell apresentará a mesma saida, porém as possibilidades são muito maiores do que se pode fazer.
00:24:00:b0:e7:00
OBS1. O script funciona bem em qualquer Linux. Para qualquer outro sistema você tem que saber qual modulo substitui o AF_PACKET.
OBS2. Você pode usar uma interpretação do comando ifconfig ou ipconfig no python como acontece no shell script mas isso não seria muito normal de se fazer.