Как установить Wireshak на Linux и захватить USB-трафик?
Я столкнулся с многочисленными проблемами при установке Wireshark и захвате трафика USB, особенно из-за разрешений пользователей.
В ответ я опишу полный рабочий процесс для этого. Ответы на каждую отдельную проблему даются на разных форумах, поэтому я подумал, что соберу все вместе в один ответ, чтобы будущие пользователи Google не сталкивались с каждой проблемой, с которой они сталкиваются.
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 в корневом режиме, это может повредить файлы. Вместо этого сделайте их доступными для других пользователей:
sudo chmod 644 /dev/usbmon*
Теперь интерфейсы usbmon должны появиться в Wireshark.
Повеселись!
Источники:
https://wiki.wireshark.org/CaptureSetup/USB