اذهب إلى المحتوى

السؤال

Recommended Posts

  • 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')

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...