Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การดึงที่อยู่ MAC ด้วย Python

เรารู้ว่า MAC address เป็น hardware address หมายถึงมันเป็น unique สำหรับ network card ที่ติดตั้งบน PC ของเรา มันเป็น unique เสมอ หมายถึงไม่มีอุปกรณ์สองตัวใน local network เดียวกันที่จะมี MAC address เหมือนกัน

วัตถุประสงค์หลักของ MAC address คือให้ที่อยู่ฮาร์ดแวร์หรือที่อยู่ทางกายภาพที่ unique สำหรับทุก node บน local area network (LAN) หรือเครือข่ายอื่นๆ Node หมายถึงจุดที่คอมพิวเตอร์หรืออุปกรณ์อื่นๆ (เช่น พิมพ์หรือ router) จะเชื่อมต่อกับเครือข่าย

วิธีที่ 1

ใช้ uuid.getnode()

ในตัวอย่างนี้ getnode() ใช้ดึง MAC address ของคอมพิวเตอร์ ฟังก์ชันนี้นิยามในโมดูล uuid

ตัวอย่างโค้ด

import uuid
print(hex(uuid.getnode()))

ผลลัพธ์

0x242ac110002L

วิธีที่ 2

ใช้ getnode() + format() [สำหรับการจัดรูปแบบที่ดีขึ้น]

ตัวอย่างโค้ด

import uuid
# หลังจากทุก 2 หลัก join elements ของ getnode()
print("The formatted MAC address is : ", end="")
print(':'.join(['{:02x}'.format((uuid.getnode() >> elements) & 0xff) for elements in range(0, 2*6, 2)][::-1]))

ผลลัพธ์

The formatted MAC address is : 3e:f8:e2:8b:2c:b3

วิธีที่ 3

ใช้ getnode() + findall() + re() [สำหรับลดความซับซ้อน]

ตัวอย่างโค้ด

import re, uuid
# หลังจากทุก 2 หลัก join elements ของ getnode()
# ใช้ regex expression
print("The MAC address in expressed in formatted and less complex way : ", end="")
print(':'.join(re.findall('..', '%012x' % uuid.getnode())))

ผลลัพธ์

The MAC address in expressed in formatted and less complex way : 18:5e:0f:d4:f8:b3