Hướng dẫn này trình bày cách định cấu hình tiện ích mở rộng cho Wireshark để phát hiện các gói từ mạng Luồng.
Để sử dụng Pyspinel để phân tích gói không cần extcap, hãy tham khảo bài viết Packet Sniffing với Pyspinel.
Thiết lập môi trường hít đất
Trước khi bắt đầu, hãy hoàn thành các bước sau:
- Xem lại Yêu cầu về việc phân tích cú pháp.
- 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 máy chủ sau đây:
- Debian 4.19.37 - Wireshark 3.0.4
- macOS Mojave 10.14.6 - Wireshark 3.0.5
- Phiên bản 64 bit của Windows 10 phiên bản 17134 – Wireshark 3.0.6
Xây dựng và cài đặt sniffer
Hướng dẫn tạo và cài đặt ROM phụ thuộc vào nền tảng.
Để xem hướng dẫn về cách tạo và cài đặt ROM25 của CC2538, hãy tham khảo ví dụ về README của CC2538 trên GitHub.
Để xem hướng dẫn chung về bản dựng, hãy tham khảo nội dung Cách xây dựng OpenThread.
Dùng máy bắn tỉa
Màn hình chụp Wireshark được hiển thị khi Wireshark khởi chạy lần đầu tiên. Ứng dụng này sẽ liệt kê các giao diện phần cứng được kết nối với một trình phát âm thanh OpenThread.
Chụp từ một giao diện
Nếu đây là lần đầu tiên bạn sử dụng giao diện, hãy nhấp vào nút Tuỳ chọn ở bên trái giao diện:
- Đặt Kênh thành giá trị mong muốn.
- Kiểm tra IEEE 802.15.4 TAP để đảm bảo thông tin kênh có trong đầu ra pcap và có thể hiển thị trong Wireshark GUI.
- Đánh dấu tuỳ chọn Save parameters on Capture start (Lưu các tham số khi bắt đầu chụp) để đảm bảo rằng các tham số này được lưu sau khi bắt đầu chụp, để tránh phải đặt lại các tham số này vào lần tiếp theo bạn sử dụng giao diện (trừ khi bạn cần thay đổi kênh).
- Nhấp vào Bắt đầu.
Nếu các tham số của bạn đã được lưu, hãy bắt đầu đánh giá bằng cách chọn giao diện phần cứng rồi 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ó trong màn hình chụp rồi nhấp vào biểu tượng Wishashark ở trên cùng bên trái.
Sử dụng các trường này để xác định từng thông tin đánh giá riêng lẻ khi chụp từ nhiều giao diện:
- Interface ID (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 ảnh
- Tên giao diện (frame.interface_name) — Tên giao diện mà Wireshark sử dụng để xác định giao diện chụp ảnh
- 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ố
Tiện ích OpenThread sniffer không được liệt kê là giao diện Wireshark
- Nếu bạn đã cài đặt nhiều trình phiên dịch Python, hãy đảm bảo rằng tập lệnh diễn giải Python 3 được sử dụng trong 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 hay không và các trình điều khiển có được tải hay không.
- Kiểm tra để chắc chắn rằng chương trình cơ sở (NCP hoặc RCP) đã được cài đặt xong vào phần cứng.
- Xác minh rằng tập lệnh Python nằm trong đường dẫn bên ngoài có thể thực thi được.
- Đối với OS X và Linux:
- Xác minh rằng bạn có quyền thực thi cho tệp
extcap_ot.py
: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
- Xác minh giao diện có trong danh sách:
extcap_ot.py --extcap-interfaces
- Xác minh rằng bạn có quyền thực thi cho tệp
- Đối với Windows:
- Xác minh giao diện có trong danh sách:
extcap_ot.bat --extcap-interfaces
- Nếu thoát bằng lỗi Python, hãy xác minh phiên bản Python là 3.x:
py -3 --version
- Xác minh giao diện có trong danh sách:
- Đố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 quá trình 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 đó thu thập các gói. - Chỉ cho phép người dùng
root
chụp gói.
Bạn không nên sử dụng Wireshark làm 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 để hạn chế chụp cho các thành viên của nhóm wireshark
, bạn có thể cần thêm đúng người dùng vào nhóm:
sudo usermod -a -G wireshark user
Ngoài ra, hãy thêm đúng người dùng vào nhóm dialout
:
sudo usermod -a -G dialout user
Đóng rồi khởi động lại Wireshark để áp dụng các chế độ cài đặt mới cho nhóm người dùng.
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 đối với một số phiên bản Wireshark cũ. Đảm bảo bạn đang sử dụng Wireshark 3.0.6 trở lên.