Wireshark: Truy cập giao diện USB Bus mà không cần sudo


5

Tôi đang cố gắng theo dõi một số lưu lượng USB bằng Wireshark trên Linux (Ubuntu). Nếu tôi khởi động Wireshark với tư cách là người dùng bình thường không có quyền root, giao diện bus USB sẽ không được liệt kê. Nếu tôi sudo wiresharkmặc dù, tôi thấy các giao diện bus USB. Điều này có lẽ được minh họa tốt nhất bằng cách sử dụng dumpcaplệnh để liệt kê các giao diện chụp có sẵn:

~$dumpcap -D

1. eth0
2. any (Pseudo-device that captures on all interfaces)
3. lo

đấu với

~$sudo dumpcap -D

1. eth0
2. usbmon1 (USB bus number 1)
3. usbmon2 (USB bus number 2)
4. usbmon3 (USB bus number 3)
5. usbmon4 (USB bus number 4)
6. usbmon5 (USB bus number 5)
7. usbmon6 (USB bus number 6)
8. usbmon7 (USB bus number 7)
9. usbmon8 (USB bus number 8)
10. any (Pseudo-device that captures on all interfaces)
11. lo

Có cách nào để tôi có thể định cấu hình Wireshark để tôi không phải chạy bằng root để có quyền truy cập vào giao diện bus USB không? Trước đây tôi đã làm theo hướng dẫn để thiết lập wireshark để tôi không phải chạy nó dưới quyền root để xem các giao diện Ethernet, vì vậy tôi tự hỏi liệu có đơn giản là thay đổi quyền trên một số thực thi khác để có thể thấy USB không giao diện mà không cần chạy bằng root ...

Câu trả lời:


6

Có, bạn chỉ cần thêm một khả năng khác cho tiện ích dumpcap. CAP_DAC_OVERRIDE cung cấp khả năng ghi đè kiểm tra quyền trên các tệp và cho phép dumpcap truy cập các tệp cần thiết để chụp USB. Đây không phải là một giải pháp hay, nhưng tốt hơn nhiều so với việc chạy toàn bộ Wireshark với quyền root. Vì bạn đã hoàn thành phần lớn công việc, bạn chỉ cần chạy lệnh cuối cùng này.

sudo setcap 'CAP_NET_RAW + eip CAP_NET_ADMIN + eip CAP_DAC_OVERRIDE + eip' / usr / bin / dumpcap

Đọc trả lời từ Evan Huus về báo cáo lỗi này để biết thêm thông tin:

https://bugs.launchpad.net/ubfox/+source/wireshark/+orms/893828


3

CAP_DAC_OVERRIDE chắc chắn sẽ cung cấp cho wireshark khả năng thu thập usb dưới dạng không root nhưng nó cũng cho phép truy cập vào mọi thứ khác. Từ góc độ bảo mật này là không tốt. Có một cách khác tuy nhiên. sudo chmod go+r /dev/usbmon* Điều này sẽ cung cấp quyền truy cập vào chỉ giám sát usb. Điều này có thể được cải thiện hơn nữa bằng cách tạo ra một nhóm có tên là wireshark sau đó thực hiện điều đó:

sudo chgrp wireshark /usr/bin/dumpcap
sudo chmod g+s /usr/bin/dumpcap
sudo chgrp wireshark dev/usbmon*
sudo chmod g+r /dev/usbmon*

Điều này thiết lập mọi thứ để dumpcap có quyền truy cập để theo dõi usb và vẫn bị ràng buộc bởi các hạn chế cấp phép thông thường. Ngoài ra, các chương trình là thành viên của nhóm 'wireshark' sẽ có quyền truy cập như vậy.

Đối với những người không biết dumpcap là chương trình nhân viên dưới quyền cho wireshark. Ngoài ra, trừ khi thay đổi cấu hình bổ sung được thực hiện / dev / usbmon * sẽ trở lại quyền mặc định khi khởi động lại vô hiệu hóa quyền truy cập giám sát usb. Chỉ cần chạy lại sudo chmod g+r /dev/usbmon*để kích hoạt. Các thay đổi đối với quyền của dumpcap sẽ tồn tại khi khởi động lại.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.