Wireshark là một công cụ nguồn mở có thể giải mã các giao thức mạng trong ngăn xếp Thread, chẳng hạn như IEEE 802.15.4, 6LoWPAN, IPv6, MLE (Mesh Link Setupment), UDP và CoAP.
Công cụ Psspinel sniffer kết nối với một thiết bị NCP hoặc RCP luồng và chuyển đổi thiết bị thành một trình thông báo gói linh hoạt, tạo ra luồng pcap (gói chụp) được lưu hoặc đưa vào Wireshark trực tiếp.
Để sử dụng Wireshark với Pyspinel, hãy tham khảo các đề xuất cài đặt ở bước tiếp theo. Bạn cũng sẽ cần định cấu hình Wireshark để hiển thị chính xác các gói Thread và nhận các phép đo RSSI.
Cài đặt Wireshark
Linux
Mở một thiết bị đầu cuối và chạy các lệnh sau để tải và cài đặt Wireshark:
sudo add-apt-repository ppa:wireshark-dev/stable
sudo apt-get update
sudo apt-get install wireshark
Bạn nên chạy Wireshark với tư cách là người dùng không sử dụng root
. Để thực hiện việc này, hãy định cấu hình lại gói:
sudo dpkg-reconfigure wireshark-common
Khi bạn thấy hộp thoại hỏi "Những người không phải người dùng siêu cấp có thể chụp gói không?",
chọn Có, sau đó thêm người dùng wireshark
và cập nhật các quyền đối với tệp:
sudo adduser $USER wireshark
sudo chmod +x /usr/bin/dumpcap
Mac OS và Windows
Tải và cài đặt Wireshark. Để tối ưu hoá bảo mật cho hệ điều hành, hãy tham khảo Wireshark — thông tin dành riêng cho nền tảng về đặc quyền thu thập.
Định cấu hình giao thức Wireshark
Để định cấu hình giao thức, hãy chọn Preferences... (Tuỳ chọn...) trong Wireshark và mở rộng phần Giao thức.
6LoWPAN
Chọn 6LoWPAN trong danh sách giao thức rồi xác minh hoặc thay đổi các chế độ cài đặt sau:
- Bỏ đánh dấu mục Mã nhận dạng dự phòng theo RFC 4944.
- Cập nhật Ngữ cảnh 0 bằng Tiền tố cục bộ lưới cho mạng Luồng mục tiêu.
Wireshark sử dụng cấu hình ngữ cảnh để phân tích cú pháp địa chỉ IPv6 đã nén và hiển thị chính xác địa chỉ nguồn và đích của IPv6.
Để hiển thị địa chỉ của các tiền tố lưới khác được định cấu hình trên cổng, hãy cập nhật các Mã ngữ cảnh khác với các tiền tố đó.
Để nhận mã ngữ cảnh cho một tiền tố cụ thể trên lưới, hãy xem TLV của dữ liệu mạng theo luồng trong bất kỳ thông báo phản hồi dữ liệu MLE nào. Ví dụ:
Context 1: fd00:7d03:7d03:7d03::/64
coAP
Chọn CoAP từ danh sách giao thức và đặt CoAP UDP Port thành 61631. Điều này đảm bảo nội dung TMF (như địa chỉ đề xuất) được hiển thị.
IEEE 802.15.4
Chọn IEEE 802.15.4 trong danh sách các giao thức và xác minh hoặc thay đổi các chế độ cài đặt sau:
- Đặt 802.15.4 Ethertype (trong hệ thập lục phân) thành "0x809a".
- Đặt Bộ bảo mật thành "Mã hoá AES-128, Bảo vệ tính toàn vẹn 32 bit".
Nhấp vào nút Edit... (Chỉnh sửa...) bên cạnh Decryption Keys (Khoá giải mã), là nơi bạn thêm Khoá mạng chính để giải mã gói.
- Nhấp vào dấu + để thêm khoá giải mã.
- Nhập Khoá chính của luồng mạng vào cột Khoá giải mã.
- Nhập "1" làm Chỉ mục khoá giải mã.
Chọn Hàm băm chuỗi từ hộp danh sách cột Khoá chính.
Nhấp vào OK để lưu khoá giải mã.
Giao thức Thread
Chọn Thread (Luồng) từ danh sách giao thức và xác minh hoặc thay đổi các chế độ cài đặt sau:
- Nhập "00000000" cho bộ đếm Trình tự chuỗi.
- Bỏ đánh dấu mục Sử dụng Mã PAN làm hai octet chính đầu tiên.
- Đánh dấu vào mục Tự động lấy bộ đếm trình tự luồng.
Nhấp vào nút OK để lưu mọi thay đổi giao thức.
Một số lưu lượng truy cập luồng có thể được phân tích dưới dạng giao thức ZigBee. Để hiển thị chính xác hai giao thức này, hãy chỉnh sửa các giao thức đã bật trong Wireshark:
- Trong Wireshark, hãy chuyển đến Analyze (Phân tích), sau đó nhấp vào Enabled Protocols (Các giao thức đã bật).
Bỏ chọn các giao thức sau:
- LwMesh
- ZigBee
- ZigBee Green Power
Định cấu hình Wireshark RSSI
Cách hiển thị RSSI trong Wireshark:
- Chọn Lựa chọn ưu tiên... và mở rộng phần Giao thức, sau đó nhấp vào IEEE 802.15.4.
Đặt Định dạng FCS:
- Nếu IEEE 802.15.4 TAP bị tắt: siêu dữ liệu TI CC24xx.
- Nếu đã bật TAP IEEE 802.15.4: ITU-T CRC-16. Nếu bạn đang làm theo hướng dẫn Packet Sniffing (Đánh dấu gói) cho Nordic Semiconductor nRF52840 DK, hãy tham khảo cờ
--tap
để biết thêm thông tin.
Nhấp vào OK để lưu và quay lại trình đơn Lựa chọn ưu tiên.
Trong mục Lựa chọn ưu tiên, hãy chọn Giao diện, rồi chọn Cột.
Thêm mục nhập mới:
- Tiêu đề: RSSI
- Loại: Tuỳ chỉnh
- Trường: wpan.rssi