GNU/Linux >> Linux Esercitazione >  >> Linux

Ottenere l'indirizzo MAC

Python 2.5 include un'implementazione uuid che (in almeno una versione) richiede l'indirizzo mac. Puoi importare facilmente la funzione di ricerca mac nel tuo codice:

from uuid import getnode as get_mac
mac = get_mac()

Il valore restituito è l'indirizzo mac come numero intero a 48 bit.


La soluzione in puro Python per questo problema sotto Linux per ottenere il MAC per un'interfaccia locale specifica, originariamente pubblicato come commento da vishnubob e migliorato da Ben Mackey in questa ricetta activestate

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

Questo è il codice compatibile 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. Come modificare l'indirizzo MAC su CentOS 8

  2. Come modificare/spoofare un indirizzo MAC in Debian 10

  3. Impostazione dell'indirizzo Mac permanente in Ubuntu 14.04?

  4. Come ottenere l'indirizzo MAC dell'interfaccia di rete WiFi?

  5. Ottieni l'indirizzo MAC usando lo script della shell

Come trovare l'indirizzo MAC in Ubuntu

Come modificare / falsificare un indirizzo MAC in Ubuntu

Come modificare l'indirizzo MAC di rete in Linux

Come modificare l'indirizzo MAC in Linux

Risolvere l'indirizzo Mac dall'indirizzo IP in Linux?

Risoluzione dell'indirizzo MAC dall'indirizzo IP in Linux