Địa chỉ MAC là gì?
Địa chỉ MAC, còn gọi là địa chỉ vật lý, là một mã định danh duy nhất được gán cho card mạng NIC của máy tính. Card NIC đóng vai trò quan trọng trong việc kết nối máy tính với mạng và mỗi NIC sẽ có một địa chỉ MAC riêng biệt.
Nếu bạn đang sử dụng hệ điều hành Linux, ví dụ như Ubuntu, bạn có thể sử dụng lệnh “ip addr” để truy xuất thông tin về địa chỉ MAC 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'))