Để kết xuất lưu lượng USB trên Linux, bạn cần usbmon
mô-đun tồn tại từ Linux 2.6.11 . Thông tin về mô-đun đó có sẵn trong /usr/src/linux/Documentation/usb/usbmon.txt
cây nguồn Linux. Tùy thuộc vào bản phân phối bạn đang sử dụng và phiên bản của bản phân phối đó, mô-đun đó có thể được tích hợp vào kernel hoặc có thể là mô-đun có thể tải; nếu đó là một mô-đun có thể tải, tùy thuộc vào bản phân phối bạn đang sử dụng và phiên bản của bản phân phối đó, nó có thể hoặc không thể được tải cho bạn. Nếu đó là một mô-đun có thể tải và không được tải, bạn sẽ phải tải nó bằng lệnh
modprobe usbmon
mà phải được chạy như root.
Bản phát hành libpcap trước 1.0 không bao gồm hỗ trợ USB, vì vậy bạn sẽ cần ít nhất libpcap 1.0.0 .
Đối với các phiên bản kernel trước 2.6,21 , cơ chế thu thập lưu lượng USB duy nhất có sẵn là cơ chế dựa trên văn bản giới hạn tổng lượng dữ liệu được ghi lại cho mỗi khối USB thô xuống còn khoảng 30 byte. Không có cách nào để thay đổi điều này mà không vá kernel. Nếu debugfs chưa được gắn vào /sys/kernel/debug
, hãy đảm bảo rằng nó được gắn ở đó bằng cách ban hành lệnh sau dưới dạng root:
mount -t debugfs / /sys/kernel/debug
Đối với phiên bản kernel 2.6.21 trở lên , có một giao thức nhị phân để truy tìm các gói USB không có giới hạn kích thước đó. Đối với phiên bản kernel đó, bạn sẽ cần libpcap 1.1.0 hoặc mới hơn , vì hỗ trợ USB libpcap 1.0.x sử dụng, nhưng không xử lý chính xác, cơ chế ánh xạ bộ nhớ cho lưu lượng USB, libpcap sẽ sử dụng nếu có - không thể không có sẵn, vì vậy libpcap sẽ luôn sử dụng nó.
Trong libpcap 1.0.x, các thiết bị để chụp trên USB có tên usbn, trong đó n là số lượng xe buýt. Trong libpcap 1.1.0 trở lên, chúng có tên usbmonn.
Bạn cũng sẽ cần một Wireshark 1.2.x hoặc mới hơn .