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

แยกที่อยู่ MAC โดยใช้ Python


เรารู้ว่าที่อยู่ 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