GNU/Linux >> Tutoriales Linux >  >> Linux

Obtener la dirección MAC

Python 2.5 incluye una implementación uuid que (al menos en una versión) necesita la dirección mac. Puede importar la función de búsqueda de Mac en su propio código fácilmente:

from uuid import getnode as get_mac
mac = get_mac()

El valor de retorno es la dirección mac como un entero de 48 bits.


La solución de Python puro para este problema en Linux para obtener el MAC para una interfaz local específica, publicada originalmente como un comentario de vishnubob y mejorada por Ben Mackey en esta receta de estado activo

#!/usr/bin/python

import fcntl, socket, struct

def getHwAddr(ifname):
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    info = fcntl.ioctl(s.fileno(), 0x8927,  struct.pack('256s', ifname[:15]))
    return ':'.join(['%02x' % ord(char) for char in info[18:24]])

print getHwAddr('eth0')

Este es el código compatible con Python 3:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import fcntl
import socket
import struct


def getHwAddr(ifname):
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    info = fcntl.ioctl(s.fileno(), 0x8927,  struct.pack('256s', bytes(ifname, 'utf-8')[:15]))
    return ':'.join('%02x' % b for b in info[18:24])


def main():
    print(getHwAddr('enp0s8'))


if __name__ == "__main__":
    main()

Linux
  1. ¿Configurar una dirección Mac permanente en Ubuntu 14.04?

  2. ¿Cómo obtener la dirección MAC de la interfaz de red WiFi?

  3. Obtenga la dirección MAC usando un script de shell

  4. ¿Cómo puedo asignar una IP por dirección MAC en dhcpd?

  5. Obtener dirección gpsd para ntpd

Cómo encontrar la dirección MAC en Ubuntu

Cómo cambiar/suplantar una dirección MAC en Ubuntu

Cómo cambiar la dirección MAC de la red en Linux

Cómo cambiar la dirección MAC en Linux

¿Resolver la dirección Mac desde la dirección IP en Linux?

Resolución de la dirección MAC desde la dirección IP en Linux