Thủ Thuật

[PyHack] Bài 2: Kiểm tra MAC mà người dùng đã đổi xem đúng không

Tiếp tục bài 1, sau khi ta đã viết được hàm thay đổi địa chỉ MAC trên terminal. Ta cần kiểm tra MAC hiện tại có đúng theo ý địa chỉ MAC mà người dùng chỉ định hay không.

Để làm được điều đó, đầu tiên, ta phải lấy kết quả của lệnh “ifconfig” gán vào một biến string. Sau đó, ta sẽ tìm MAC trong đống dữ liệu đó.Kiểm tra MAC mà người dùng đã đổi xem đúng không

Lấy kết quả của lệnh ifconfig

Trong module subprocess có 1 hàm gọi là check_output, hàm này sẽ kiểm tra lệnh của bạn và có thể gán kết quả đó cho một biến khác.kiểm tra mac với pyhack

decode(‘utf-8’)[PyHack] Bài 2: Kiểm tra MAC mà người dùng đã đổi xem đúng không 18[PyHack] Bài 2: Kiểm tra MAC mà người dùng đã đổi xem đúng không 19

TÌm MAC

Trong lập trình, có một thuật toán gọi là Regular Expression hay còn gọi tắt là RegEx. RegEX là biểu thức chính quy được dùng để xử lý chuỗi nâng cao thông qua biểu thức riêng của nó, những biểu thức này sẽ có những nguyên tắc riêng và bạn buộc phải tuân theo nguyên tắc đó thì biểu thức của bạn mới hoạt động được.

Các bạn vào Pythex để có thể test thuật toán này online nhé. Bấm vào chữ Regular expression cheatsheet để tìm hiểu thêm các biểu thức có trong Pythex.tim địa chỉ mac bằng Regular Expression

Các bạn copy đoạn text mà lệnh ifconfig trả ra rồi paste vào chỗ Your test string. Trên phần Your regular expression thì nhập ww:ww:ww:ww:ww:ww[PyHack] Bài 2: Kiểm tra MAC mà người dùng đã đổi xem đúng không 20

Ta da! Chúng ta đã tìm được vị trí của MAC rồi đó, dễ không?

Sử dụng RegEx trong python

Thuật toán của RegEx có trong module re của python. Chúng ta dùng hàm re.search("cú pháp", biến)Sử dụng RegEx trong python

[PyHack] Bài 2: Kiểm tra MAC mà người dùng đã đổi xem đúng không 21

Giờ chúng ta thêm lệnh if để kiểm tra xem có đọc được MAC của interface hay không.

[PyHack] Bài 2: Kiểm tra MAC mà người dùng đã đổi xem đúng không 22

Khi chương trình không thể đọc MAC của interface.

[PyHack] Bài 2: Kiểm tra MAC mà người dùng đã đổi xem đúng không 23

Làm gọn code

Chúng ta sẽ bỏ code nãy giờ vào hàm get_current_mac()và return kết quả vào biếncurrent_mac, sau đó in nó ra. Do curret_mac là kiểu Non-type nên mình mới ép nó qua string.[PyHack] Bài 2: Kiểm tra MAC mà người dùng đã đổi xem đúng không 24

[PyHack] Bài 2: Kiểm tra MAC mà người dùng đã đổi xem đúng không 25

Kiểm tra MAC

Sau khi lấy được địa chỉ MAC hiện tại rồi, ta sẽ đem nó so sánh với địa MAC mới mà người dùng chỉ định. Để xem xem khi thay đổi MAC thì địa chỉ MAC hiện tại có giống với địa chỉ MAC mà người dùng nhập hay không. Nếu giống nhau thì thành công, còn khác nhau thì thất bại.

check mac address python[PyHack] Bài 2: Kiểm tra MAC mà người dùng đã đổi xem đúng không 26

Và đây là khi các bạn nhập sai interface.[PyHack] Bài 2: Kiểm tra MAC mà người dùng đã đổi xem đúng không 27

Còn nhớ lỗi không thay đổi được MAC khi cặp số đầu tiên là số lẻ không? Lần trước còn xuất hiện lỗi, nhưng lần này thì hết rồi.[PyHack] Bài 2: Kiểm tra MAC mà người dùng đã đổi xem đúng không 28

Đánh giá post

Rất Hữu ích

RatHuuIch là Website chia sẻ miễn phí tất cả các kiến thức về công nghệ thông tin. RatHuuIch cung cấp mọi giải pháp về mạng máy tính, phần mềm, đồ họa và MMO.

Bài liên quan

Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận
Back to top button