Tra cứu nhà sản xuất địa chỉ MAC (OUI)
Chi tiết kỹ thuật
Tra cứu nhà sản xuất theo địa chỉ MAC hoạt động như thế nào
Công cụ làm gì
Tra cứu nhà sản xuất theo địa chỉ MAC ánh xạ 24 bit đầu (OUI — Organisationally Unique Identifier) của một địa chỉ MAC tới nhà sản xuất đã đăng ký bằng cách truy vấn cơ sở dữ liệu OUI của IEEE Registration Authority. Công cụ chấp nhận địa chỉ MAC ở mọi định dạng phổ biến (dấu hai chấm, dấu gạch ngang, dấu chấm, không dấu phân cách) và trả về tên nhà cung cấp, địa chỉ đăng ký và các cờ bit cơ bản (locally-administered, multicast).
Các trường hợp sử dụng phổ biến cho lập trình viên
Kỹ sư mạng xác định các thiết bị không rõ trên LAN bằng cách đọc OUI từ log ARP hoặc DHCP. Chuyên viên phân tích bảo mật phát hiện phần cứng giả mạo hoặc không được phép khi OUI không khớp với thương hiệu được khai báo. Lập trình viên IoT xác minh rằng firmware vừa nạp lại vẫn giữ đúng MAC. Các công cụ hiển thị nhãn thiết bị dễ đọc (bản đồ mạng, dashboard, bắt gói tin) dùng tra cứu OUI để làm giàu dữ liệu từ các địa chỉ thô.
Định dạng dữ liệu, kiểu hoặc biến thể
Các định dạng MAC được hỗ trợ: phân tách bằng dấu hai chấm (00:1A:2B:3C:4D:5E), phân tách bằng dấu gạch ngang (00-1A-2B-3C-4D-5E), ký hiệu dấu chấm kiểu Cisco (001A.2B3C.4D5E) và hex không phân tách (001A2B3C4D5E). OUI được trích xuất là 6 ký tự hex đầu tiên. Cơ sở dữ liệu IEEE đi kèm (thông qua gói npm oui-data, ~3.9MB) chứa hơn 39.000 mục gán và được tải một lần khi bạn mở công cụ — mọi truy vấn sau đó đều chạy cục bộ.
Các lỗi thường gặp và trường hợp biên
MAC locally-administered (bit ít quan trọng thứ hai của octet đầu tiên là 1) được gán bởi phần mềm, không phải bởi IEEE — chúng sẽ không khớp với nhà cung cấp nào. Các kích thước khối mới hơn (MA-M, MA-S) dùng tiền tố 28 hoặc 36 bit; công cụ này chỉ phân giải OUI 24-bit cổ điển. Địa chỉ multicast (bit ít quan trọng nhất của octet đầu tiên là 1) được gắn cờ, nhưng việc tra cứu vẫn cố gắng tìm nhà cung cấp trong dải đã đăng ký.
Khi nào nên dùng công cụ này thay vì viết mã
Hãy dùng công cụ trên trình duyệt để nhận diện nhanh theo nhu cầu khi đang xem bản ghi bắt gói tin hoặc kiểm toán mạng. Trong code, hãy dùng gói npm `oui` ở phía server, các mô-đun `manuf` hoặc `netaddr.EUI.oui` của Python, hoặc tệp CSV có thể tải xuống của IEEE khi bạn cần làm giàu dữ liệu hàng loạt trong một pipeline.