เรารู้ว่าที่อยู่ MAC เป็นที่อยู่ฮาร์ดแวร์ ซึ่งหมายความว่าเป็นที่อยู่เฉพาะสำหรับการ์ดเครือข่ายที่ติดตั้งบนพีซีของเรา ซึ่งเป็นเอกลักษณ์อยู่เสมอ ซึ่งหมายความว่าไม่มีอุปกรณ์สองเครื่องในเครือข่ายท้องถิ่นที่สามารถมีที่อยู่ MAC เดียวกันได้
วัตถุประสงค์หลักของที่อยู่ MAC คือการจัดเตรียมที่อยู่ฮาร์ดแวร์หรือที่อยู่ทางกายภาพที่ไม่ซ้ำกันสำหรับทุกโหนดในเครือข่ายท้องถิ่น (LAN) หรือเครือข่ายอื่นๆ โหนดหมายถึงจุดที่คอมพิวเตอร์หรืออุปกรณ์อื่นๆ (เช่น เครื่องพิมพ์หรือเราเตอร์) จะยังคงเชื่อมต่อกับเครือข่าย
วิธีที่1
การใช้ uuid.getnode()
ในตัวอย่างนี้ getnode() สามารถใช้เพื่อแยกที่อยู่ MAC ของคอมพิวเตอร์ ฟังก์ชันนี้กำหนดไว้ในโมดูล uuid
โค้ดตัวอย่าง
import uuid print (hex(uuid.getnode()))
ผลลัพธ์
0x242ac110002L
วิธีที่2
การใช้ getnode() + format() [ ใช้สำหรับการจัดรูปแบบที่ดีขึ้น ]
โค้ดตัวอย่าง
import uuid # after each 2 digits, join elements of 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 # after each 2 digits, join elements of getnode(). # using 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