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