WaveDigger: Công cụ mã nguồn mở truy tìm vị trí vật lý của tín hiệu không dây

Công nghệ23 tháng 9, 2026·5 phút đọc

WaveDigger là dự án mã nguồn mở cho phép tra cứu vị trí gần đúng của các điểm truy cập Wi-Fi qua BSSID và trạm phát sóng di động LTE/5G NR thông qua các tham số mạng. Công cụ được xây dựng bằng Next.js, TypeScript và deck.gl, khai thác API dịch vụ định vị WLOC của Apple để hiển thị kết quả trực quan trên bản đồ tương tác.

WaveDigger: Công cụ mã nguồn mở truy tìm vị trí vật lý của tín hiệu không dây

Giao diện bản đồ tương tác của WaveDiggerGiao diện bản đồ tương tác của WaveDigger

Trong thế giới không dây, mỗi thiết bị phát sóng đều để lại một "dấu vết" kỹ thuật số có thể bị truy ngược về vị trí vật lý. WaveDigger là một dự án mã nguồn mở mới đang thu hút sự chú ý của cộng đồng công nghệ, cho phép người dùng tra cứu vị trí gần đúng của các điểm truy cập Wi-Fi và trạm phát sóng di động chỉ từ một vài tham số định danh.

WaveDigger làm được gì?

Công cụ này cung cấp hai tính năng tra cứu chính. Thứ nhất là tìm kiếm theo BSSID — tức địa chỉ MAC của điểm truy cập Wi-Fi. Người dùng chỉ cần nhập chuỗi định danh này, hệ thống sẽ tự động chuẩn hóa và kiểm tra tính hợp lệ trước khi truy vấn.

WaveDigger hỗ trợ nhiều định dạng BSSID phổ biến:

  • AA:BB:CC:DD:EE:FF
  • AA-BB-CC-DD-EE-FF
  • AABBCCDDEEFF

Thứ hai là tra cứu trạm phát sóng di động, bao gồm trạm LTE (với các tham số MCC, MNC, TAC, Cell ID) và trạm 5G NR (MCC, MNC, TAC, NCI). Đáng chú ý, khi tìm kiếm theo chuẩn NR, hệ thống không chỉ trả về ô mục tiêu mà còn liệt kê các ô lân cận nằm trong cùng một cụm.

Kết quả tra cứu được hiển thị trên bản đồ tương tác nhờ thư viện deck.gl, kèm theo tính năng lưu lịch sử tìm kiếm để truy cập nhanh. Giao diện được thiết kế đáp ứng (responsive), hoạt động tốt trên cả máy tính để bàn lẫn thiết bị di động.

Điểm tựa công nghệ: API định vị của Apple

Điều đáng chú ý là WaveDigger không tự xây dựng cơ sở dữ liệu vị trí riêng. Thay vào đó, dự án khai thác trực tiếp API WLOC của Apple — hệ thống định vị mà hãng này dùng để xác định vị trí thiết bị dựa trên các điểm truy cập Wi-Fi xung quanh.

Nền tảng cho công cụ này là kết quả nghiên cứu và dịch ngược (reverse engineering) của nhóm apple-corelocation-experiments. Cụ thể, WaveDigger sử dụng định nghĩa protobuf cho API WLOC, tài liệu về các điểm cuối (endpoint) và định dạng yêu cầu/phản hồi, cách Apple mã hóa tọa độ, cùng tiền tố byte khởi tạo cần thiết để tạo yêu cầu hợp lệ.

Dự án này sẽ không thể tồn tại nếu thiếu công trình nghiên cứu của nhóm apple-corelocation-experiments. Chính nhờ họ mà API dịch vụ định vị chưa được ghi nhận chính thức của Apple mới trở nên có thể tiếp cận.

Về mặt kỹ thuật, ứng dụng xây dựng trên Next.js 15 với TypeScript, dùng deck.gl kết hợp react-map-gl để trực quan hóa bản đồ, Tailwind CSS để tạo kiểu giao diện và các API route của Next.js làm lớp xử lý phía máy chủ. Giao tiếp với máy chủ Apple diễn ra qua protobuf, gửi yêu cầu đến địa chỉ gs-loc.apple.com/clls/wloc, đồng thời hỗ trợ cả điểm cuối khu vực mặc định lẫn khu vực Trung Quốc. Apple mã hóa tọa độ dưới dạng số nguyên 64-bit với 8 chữ số thập phân, và WaveDigger đảm nhiệm việc chuyển đổi qua lại.

Lưu ý quan trọng khi sử dụng

Một điểm cần lưu ý: không phải mọi BSSID đều có trong cơ sở dữ liệu của Apple. Các điểm truy cập mới triển khai hoặc thuộc sở hữu tư nhân có thể chưa được ghi nhận vị trí. Vì vậy, kết quả tra cứu chỉ mang tính tương đối và phụ thuộc vào dữ liệu mà Apple đã thu thập trước đó.

Góc nhìn từ Việt Nam

Với người dùng và chuyên gia an ninh mạng tại Việt Nam, WaveDigger là công cụ đáng quan tâm ở nhiều khía cạnh. Các chuyên gia kiểm thử xâm nhập (pentest) có thể dùng nó để đánh giá mức độ phơi lộ thông tin vị trí của hạ tầng mạng. Trong khi đó, các kỹ sư vận hành mạng có thể tận dụng để xác minh vị trí trạm phát sóng khi triển khai hoặc xử lý sự cố.

Tuy nhiên, đây cũng là lời nhắc nhở về mặt quyền riêng tư. Việc vị trí điểm truy cập Wi-Fi có thể bị truy ngược từ địa chỉ MAC cho thấy dữ liệu định vị đám đông (crowdsourced) mà các ông lớn công nghệ thu thập luôn tồn tại khả năng bị khai thác. Người dùng cá nhân nên ý thức rằng việc đặt tên mạng hay cấu hình thiết bị phát sóng không đủ để che giấu vị trí vật lý.

Giấy phép và lộ trình phát triển

WaveDigger được phát hành theo GNU Affero General Public License v3.0. Điểm đáng chú ý của AGPL là nếu bạn vận hành một phiên bản đã chỉnh sửa của phần mềm như một dịch vụ mạng, bạn bắt buộc phải công khai mã nguồn đã sửa đổi cho người dùng dịch vụ đó.

Để chạy công cụ, người dùng cần Node.js 24 trở lên cùng npm. Sau khi cài đặt phụ thuộc, bạn có thể chạy máy chủ phát triển và truy cập giao diện tại địa chỉ cục bộ. Tùy chọn thêm token Mapbox sẽ giúp cải thiện chất lượng ô bản đồ hiển thị.

Về tương lai, nhóm phát triển đang lên kế hoạch bổ sung khả năng xuất kết quả dưới dạng JSON/CSV và chế độ xem theo cụm TAC — cho phép duyệt toàn bộ trạm phát sóng trong một vùng TAC mà không cần biết Cell ID hay NCI cụ thể.

Với tính chất mã nguồn mở và nền tảng nghiên cứu vững chắc, WaveDigger hứa hẹn trở thành công cụ tham khảo hữu ích cho cả cộng đồng nghiên cứu không dây lẫn giới bảo mật.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗