GNU/Linux >> Belajar Linux >  >> Linux

Mendapatkan Alamat MAC

Python 2.5 menyertakan implementasi uuid yang (setidaknya dalam satu versi) membutuhkan alamat mac. Anda dapat mengimpor fungsi pencarian mac ke dalam kode Anda sendiri dengan mudah:

from uuid import getnode as get_mac
mac = get_mac()

Nilai yang dikembalikan adalah alamat mac sebagai bilangan bulat 48 bit.


Solusi python murni untuk masalah ini di Linux untuk mendapatkan MAC untuk antarmuka lokal tertentu, awalnya diposting sebagai komentar oleh vishnubob dan diperbaiki oleh Ben Mackey dalam resep keadaan aktif ini

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

Ini adalah kode yang kompatibel dengan 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. Temukan Alamat MAC di Ubuntu 21.10

  2. Bagaimana cara mendapatkan alamat MAC dari antarmuka jaringan WiFi?

  3. Dapatkan alamat MAC menggunakan skrip shell

  1. Mendapatkan alamat gpsd untuk ntpd

  2. Cetak alamat mac ke file

  3. Perintah Shell untuk Mendapatkan Alamat IP?

  1. Cara mengubah Alamat MAC di CentOS 8

  2. Cara Mengubah/Spoof Alamat MAC di Debian 10

  3. Mengatur Alamat Mac Permanen Di Ubuntu 14.04?