Wireshark: Доступ до інтерфейсів USB-шини без судо


5

Я намагаюся контролювати деякий трафік USB за допомогою Wireshark в Linux (Ubuntu). Якщо я запускаю Wireshark як звичайний користувач без привілеїв root, інтерфейси шини USB не перераховані. Якщо я sudo wiresharkхоч, я бачу інтерфейси шини USB. Це, мабуть, найкраще проілюстровано за допомогою dumpcapкоманди для переліку доступних інтерфейсів захоплення:

~$dumpcap -D

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

проти

~$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

Чи можна налаштувати Wireshark так, що мені не доведеться запускати як root, щоб отримати доступ до інтерфейсів шини usb? Раніше я дотримувався керівництва по налаштуванню дротів, щоб мені не довелося запускати його як корінь, щоб бачити інтерфейси Ethernet, тому мені цікаво, чи просто питання зміни дозволів на інших виконуваних файлах, щоб мати можливість бачити USB інтерфейси без запуску як root ...

Відповіді:


6

Так, вам просто потрібно додати ще одну можливість до утиліти dumpcap. CAP_DAC_OVERRIDE надає можливість змінити перевірку дозволів на файли та дозволяє dumpcap отримати доступ до файлів, необхідних для захоплення USB. Це не гарне рішення, але це набагато краще, ніж запускати весь Wireshark як корінь. Оскільки ви вже виконали більшу частину роботи, вам просто потрібно виконати цю останню команду.

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

Прочитайте відповідь Евана Хууса на цей звіт про помилку для отримання додаткової інформації:

https://bugs.launchpad.net/ubuntu/+source/wireshark/+bug/893828


3

CAP_DAC_OVERRIDE, безсумнівно, дасть можливість провідним захопленням захоплювати usb як некореневі, але також дозволяє отримати доступ до всього іншого. З точки зору безпеки це не добре. Однак є й інший спосіб. sudo chmod go+r /dev/usbmon* Це дасть доступ лише до моніторингу usb. Це можна додатково уточнити, створивши групу під назвою wireshark, а потім зробивши наступне:

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

Це налаштувало так, що dumpcap має доступ до моніторингу usb і все ще обмежений звичайними обмеженнями дозволів. Додатково програми, які є членами групи "wireshark", матимуть такий доступ.

Для тих, хто не знає dumpcap - це основна програма робітників для проводів. Крім того, якщо зміни конфігурації додатку не будуть внесені / dev / usbmon * повернеться до стандартних дозволів при перезавантаженні, відключивши доступ до моніторингу usb. Просто sudo chmod g+r /dev/usbmon*ввімкніть, щоб увімкнути. Зміни дозволів dumpcap перезавантажиться.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.