GNU/Linux >> LINUX-Kenntnisse >  >> Linux

MAC-Adresse erhalten

Python 2.5 enthält eine uuid-Implementierung, die (in mindestens einer Version) die MAC-Adresse benötigt. Sie können die Mac-Suchfunktion einfach in Ihren eigenen Code importieren:

from uuid import getnode as get_mac
mac = get_mac()

Der Rückgabewert ist die MAC-Adresse als 48-Bit-Integer.


Die reine Python-Lösung für dieses Problem unter Linux, um den MAC für eine bestimmte lokale Schnittstelle zu erhalten, ursprünglich als Kommentar von vishnubob gepostet und von Ben Mackey in diesem Activestate-Rezept verbessert

#!/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')

Dies ist der mit Python 3 kompatible Code:

#!/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. Wie erhalte ich die MAC-Adresse der WiFi-Netzwerkschnittstelle?

  2. Rufen Sie die MAC-Adresse mit Shell-Skript ab

  3. Wie kann ich in dhcpd eine IP per MAC-Adresse zuweisen

  4. GPSD-Adresse für ntpd abrufen

  5. Mac-Adresse in Datei drucken

So finden Sie die MAC-Adresse in Ubuntu

So ändern / fälschen Sie eine MAC-Adresse in Ubuntu

So ändern Sie die Netzwerk-MAC-Adresse in Linux

So ändern Sie die MAC-Adresse in Linux

Auflösen der Mac-Adresse von der IP-Adresse in Linux?

Auflösen der MAC-Adresse von der IP-Adresse in Linux