• 1

كيف أحصل على عنوان ماك للجهاز عن طريق بايثون؟

أريد الحصول على عنوان ماك (MAC Address ) للجهاز عند وقت التشغيل مهما كان نظام التشغيل الذي يعمل عليه، فما هي أسهل طريقة لفعل ذلك؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 1

هنالك العديد من الطرق في بايثون للحصول على عنوان ماك للجهاز، بعضها معقد والآخر بسيط كاستخدام الدالة getnode  من مكتبة uuid حيث سترجع لنا عنوان ماك بطول عدد صحيح 48 بت كما في المثال التالي:

from uuid import getnode as get_mac
mac = get_mac()

أما الطريقة الصحيحة لأخذ عنوان ماك على أنظمة لينكس فهي الحصول عليه من واجهة محلية خاصة كما في المثال التالي:

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

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن