Я установил Wireshark. Запустил это. Когда я нажимаю «Список интерфейсов», я получаю список из 0 интерфейсов. Я думаю, это означает, что у меня есть какая-то проблема с конфигурацией.
Полагаю, мое ядро не настроено для этого? Как мне это исправить? Я надеюсь, что есть более простое решение, чем ручная перекомпиляция ядра.
Вам нужно запустить wireshark от имени root. Я не уверен, установлен ли модуль запуска для этого, но попробуйте подключить его к терминалу:
gksu wireshark
Чтобы упростить себе жизнь, я предлагаю вам отредактировать модуль запуска (щелкните меню правой кнопкой мыши → щелкните по редактировать меню → найдите проволочную акулу и измените ее перед командой gksu
).
В качестве альтернативы, вы можете использовать setcap
, чтобы разрешить некорневым пользователям использовать dumpcap
(приложение, которое выполняет весь захват, который использует WireShark):
sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
Это по существу из WireShark Wiki . Я видел это до того, как опубликовал вышеизложенное, но не был уверен в этом. Увидев это снова в комментариях, я сегодня проверил его, и он, похоже, работает.
Любой пользователь или процесс в системе теперь может отслеживать сетевой трафик без вмешательства пользователя. Вспомните эксплуатируемый сервис или подлинного пользователя. В вики есть еще один параметр, в котором вы можете ограничить dumpcap
одной группой пользователей (и вы добавите свою учетную запись в эту группу), но это только немного лучше. Что произойдет, если в вашем браузере есть уязвимый недостаток, который позволяет кому-то запускать команды (иногда случается)?
На мой взгляд, это больше безопасности риск, чем пройти gksu
. По крайней мере, так вам нужно ввести пароль.
Следующий способ ограничит захват пакетов определенным пользователем (пользователями) и , не запускающими wireshark от имени пользователя root.
Во-первых, запустите sudo dpkg-reconfigure wireshark-common
. Выберите «да», когда вас спросят. Это создаст группу wireshark, членам которой разрешено перехватывать пакеты.
Во-вторых, запустите sudo usermod -a -G wireshark <yourloginname>
Это добавит вас в группу Wireshark.
В-третьих, выйдите из системы, а затем снова войдите. Это приведет к изменениям в группе.
Теперь вы должны иметь возможность запускать Wireshark от имени своего пользователя, и он позволяет вам захватывать пакеты. Если вы хотите добавить дополнительных пользователей, просто повторите шаги 2 и 3 для дополнительных пользователей.
Из прочтения wireshark wiki этот метод звучит как самый рекомендуемый способ сделать это.