Lấy thông tin địa chỉ Mac Address sử dụng Python


Địa chỉ MAC là gì?

Địa chỉ MAC được hiểu là địa chỉ vật lý là mã định danh duy nhất được gán tới card mạng NIC của máy tính. Card NIC giúp kết nối máy tính với nhau trong mạng và nó là duy nhất cho tất cả các NIC.

Nếu bạn sử dụng Linux (Ubuntu), có thể sử dụng lệnh “ip addr” để lấy thông tin MAC Address của Card NIC trên máy tính của bạn.

Những đoạn code bên dưới sẽ lấy và bóc tách thông tin MAC Address sử dụng ngôn ngữ lập trình Python

Lấy thông tin địa chỉ MAC với Python 2

from uuid import getnode as get_mac

# Return value is the mac address as 48 bit integer.
mac = get_mac()

# Return hex format
hex_mac = ':'.join(("%012X" % mac)[i:i+2] for i in range(0, 12, 2))
print "Mac Address: ", hex_mac

Lấy thông tin địa chỉ MAC với Python 3

Sử dụng hàm getnode()  được định nghĩa trong uuid module

import re, uuid

# joins elements of getnode() after each 2 digits.
# using regex expression
print ("Mac Address:  ", end="")
print (':'.join(re.findall('..', '%012x' % uuid.getnode())))

Hoặc thông qua socket

#!/usr/bin/env python3

import fcntl
import socket
import struct

def getHwAddr(ifname):
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
info = fcntl.ioctl(s.fileno(), 0x8927, struct.pack('256s', bytes(ifname, 'utf-8')[:15]))
return ':'.join('%02x' % b for b in info[18:24])


print("Mac Address: ", getHwAddr('enp0s3'))

Nguồn: vinasupport.com

             
SHARE

Bài viết liên quan

mode_edit Bình luận của bạn

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

account_circle
web