Hướng dẫn này đề cập đến cách định cấu hình extcap cho Wireshark để phân tích các gói từ một Mạng Thread.
Để dùng Pyspinel để kiểm tra gói tin mà không cần có extcap, hãy tham khảo phần Dùng Packet Sniffing bằng Pyspinel.
Thiết lập môi trường theo dõi
Trước khi bắt đầu, hãy hoàn thành các bước sau:
- Tham khảo Các yêu cầu về tính năng nghe nhìn gói.
- Cài đặt và định cấu hình Wireshark.
- Cài đặt Pyspinel và các phần phụ thuộc bằng extcap.
Xác minh
Hướng dẫn này đã được xác minh bằng Zolertia Firefly (Texas Instruments CC2538) SoC) trên các hệ thống lưu trữ sau:
- Debian 4.19.37 — Wireshark 3.0.4
- macOS Mojave 10.14.6 – Wireshark 3.0.5
- Windows 10 64 bit phiên bản 17134 — Wireshark 3.0.6
Tạo và cài đặt ứng dụng sniffer
Hướng dẫn tạo và cài đặt ROM sẽ khác nhau tuỳ theo nền tảng.
Để biết hướng dẫn về cách tạo và cài đặt ROM CC2538, hãy tham khảo Ví dụ về CC2538 README trên GitHub.
Để biết hướng dẫn chung về bản dựng, hãy tham khảo Cách xây dựng OpenThread.
Sử dụng trình theo dõi
Màn hình chụp Wireshark được hiển thị khi Wireshark được khởi chạy lần đầu tiên. Nó phải liệt kê các giao diện phần cứng được kết nối với một trình theo dõi OpenThread.
Chụp từ một giao diện
Nếu đây là lần đầu tiên bạn sử dụng một giao diện, hãy nhấp vào nút Tùy chọn ở bên trái giao diện:
- Đặt Channel thành giá trị mong muốn.
- Kiểm tra IEEE 802.15.4 TAP để đảm bảo rằng thông tin kênh có trong đầu ra pcap và có thể hiển thị trong GUI Wireshark.
- Chọn Lưu thông số khi bắt đầu chụp để đảm bảo rằng những thông số này sẽ được lưu sau khi bắt đầu chụp ảnh để tránh phải đặt lại cài đặt này vào lần tiếp theo bạn sử dụng giao diện (trừ phi bạn cần thay đổi kênh).
- Nhấp vào Bắt đầu.
Nếu các thông số của bạn đã được lưu, hãy bắt đầu kiểm tra bằng cách chọn phần cứng và nhấp vào biểu tượng Wireshark ở trên cùng bên trái.
Chụp từ nhiều giao diện
Chọn tất cả giao diện phần cứng được liệt kê trong màn hình chụp ảnh và nhấp vào Biểu tượng Wireshark ở trên cùng bên trái.
Sử dụng các trường này để xác định từng thiết bị theo dõi khi chụp từ nhiều thiết bị giao diện:
- Mã giao diện (frame.Interface_id) — Giá trị nhận dạng giao diện mà Wireshark sử dụng để xác định giao diện chụp
- Tên giao diện (frame.Interface_name) — Tên giao diện được sử dụng Wireshark để xác định giao diện chụp
- Kênh (wpan-tap.ch_num) – Kênh chụp IEEE 802.15.4 (phạm vi: 11 – 26)
Khắc phục sự cố
Trình theo dõi OpenThread không được liệt kê là giao diện Wireshark
- Nếu bạn đã cài đặt nhiều trình thông dịch Python, hãy đảm bảo rằng Python 3 được sử dụng bởi tập lệnh extcap. Pyspinel không hỗ trợ Python 2.
- Kiểm tra xem phần cứng có được liệt kê trên USB và trình điều khiển đã được tải hay chưa.
- Kiểm tra xem bạn đã cài đặt đúng chương trình cơ sở (NCP hoặc RCP) vào phần cứng.
- Xác minh rằng tập lệnh Python nằm trong đường dẫn extcap có thể thực thi.
- Đối với OS X và Linux:
- Xác minh rằng
extcap_ot.py
đã có quyền thực thi tệp:ls -l extcap_ot.py
- Nếu thiếu quyền thực thi (x), hãy sửa đổi các quyền đó:
chmod +x extcap_ot.py
- Kiểm tra để đảm bảo giao diện được liệt kê:
extcap_ot.py --extcap-interfaces
- Xác minh rằng
- Đối với Windows:
- Kiểm tra để đảm bảo giao diện được liệt kê:
extcap_ot.bat --extcap-interfaces
- Nếu phiên bản Python này thoát ra và gặp lỗi Python, hãy xác minh rằng phiên bản Python là 3.x:
py -3 --version
- Kiểm tra để đảm bảo giao diện được liệt kê:
- Đối với OS X và Linux:
Wireshark chỉ cho phép người dùng gốc thu thập các gói
Trong khi cài đặt Wireshark trên Ubuntu, người dùng sẽ được nhắc chọn một trong các tuỳ chọn sau:
- Tạo nhóm người dùng
wireshark
và cho phép tất cả thành viên của nhóm đó gói chụp. - Chỉ cho phép người dùng
root
thu thập các gói dữ liệu.
Bạn không nên sử dụng Wireshark cho người dùng root
. Nếu bạn chọn
tuỳ chọn đó, hãy thay đổi chế độ cài đặt:
sudo dpkg-reconfigure wireshark-common
Nếu Wireshark được định cấu hình để chỉ cho phép các thành viên của
wireshark
nhóm, bạn có thể cần thêm đúng người dùng vào nhóm:
sudo usermod -a -G wireshark user
Đồng thời thêm đúng người dùng vào nhóm dialout
:
sudo usermod -a -G dialout user
Đóng và khởi động lại Wireshark để áp dụng cài đặt nhóm người dùng mới.
Lỗi định dạng Wireshark khi chụp trên nhiều giao diện USB trên Windows
Đây là vấn đề đã biết cho một số phiên bản cũ của Wireshark. Hãy chắc chắn rằng bạn đang sử dụng Wireshark 3.0.6 hoặc sau.