Ответ 1
Протестировано на Ubuntu 14.04, но, вероятно, работает на других дистрибутивах, поскольку ни один из шагов не относится к Ubuntu.
При первом ознакомлении с руководством выполните все шаги 1 → 7.
При перезагрузке компьютера необходимо повторить шаги 6 и 7, чтобы увидеть интерфейсы USB в Wireshark.
Установите Wireshark и libpcap:
sudo apt-get install wireshark libpcap0.8
Для Debian, Ubuntu и других производных Debian перейдите к шагу 3.
Для других систем на основе Linux или других методов установки см. Wireshark Wiki, затем перейдите к шагу 6.
Переконфигурируйте wireshark, чтобы не-суперпользователи могли отслеживать пакеты:
sudo dpkg-reconfigure wireshark-common
Выберите
<Yes>
в приглашенииДобавьте свое имя пользователя в группу пользователей "wireshark":
sudo usermod -a -G wireshark <your_username>
Вы можете убедиться, что все сделано правильно, отобразив группы, в которые входит ваше имя пользователя:
groups <your_username>
Если нет, вы можете добавить группу "wireshark" вручную:
groupadd wireshark
А затем добавьте ваше имя пользователя в группу (см. выше)
Важно. Выйдите из сеанса и снова войдите в систему.
Этот шаг зависит от версии ядра, установленной на вашем компьютере. Чтобы узнать версию вашего ядра, введите:
uname -r
Для версий ядра до 2.6.21, если debugfs еще не смонтирован в /sys/kernel/debug, убедитесь, что он смонтирован там, введя следующую команду:
sudo mount -t debugfs / /sys/kernel/debug
Для ядра версии 2.6.21 и новее загрузите загружаемый модуль usbmon в ядро:
sudo modprobe usbmon
См. Wireshark Wiki для получения дополнительной информации об этой дифференциации.
Если интерфейсы usbmon не отображаются в Wireshark, найдите интерфейсы, используя dumpcap (инструмент командной строки Wireshark):
sudo dumpcap -D
Вы должны увидеть интерфейсы usbmon *. Теперь отобразите разрешения интерфейсов usbmon:
ls -l /dev/usbmon*
Если файлы usbmon * имеют 'crw-------', то это нормально, что Wireshark не может их прочитать, потому что он не запускается от имени root. Не запускайте wireshark в режиме root, это может привести к повреждению файлов. Вместо этого вы можете дать ему права обычного пользователя:
sudo setfacl -m u:$USER:r /dev/usbmon*
Теперь интерфейсы usbmon должны появиться в Wireshark.
Веселись!
Источники:
https://wiki.wireshark.org/CaptureSetup/USB#Linux
https://wiki.wireshark.org/CaptureSetup/CapturePrivileges#Most_UNIXes
https://unix.stackexchange.com/info/55722/wireshark-couldnt-run-usr-sbin-dumpcap-in-child-process