Почему не работает wireshark?

Я установил Wireshark. Запустил это. Когда я нажимаю «Список интерфейсов», я получаю список из 0 интерфейсов. Я думаю, это означает, что у меня есть какая-то проблема с конфигурацией.

Полагаю, мое ядро ​​не настроено для этого? Как мне это исправить? Я надеюсь, что есть более простое решение, чем ручная перекомпиляция ядра.

6
задан 27 April 2011 в 03:07

2 ответа

Вам нужно запустить 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. По крайней мере, так вам нужно ввести пароль.

0
ответ дан 27 April 2011 в 03:07

Следующий способ ограничит захват пакетов определенным пользователем (пользователями) и , не запускающими wireshark от имени пользователя root.

Во-первых, запустите sudo dpkg-reconfigure wireshark-common. Выберите «да», когда вас спросят. Это создаст группу wireshark, членам которой разрешено перехватывать пакеты.

Во-вторых, запустите sudo usermod -a -G wireshark <yourloginname> Это добавит вас в группу Wireshark.

В-третьих, выйдите из системы, а затем снова войдите. Это приведет к изменениям в группе.

Теперь вы должны иметь возможность запускать Wireshark от имени своего пользователя, и он позволяет вам захватывать пакеты. Если вы хотите добавить дополнительных пользователей, просто повторите шаги 2 и 3 для дополнительных пользователей.

Из прочтения wireshark wiki этот метод звучит как самый рекомендуемый способ сделать это.

0
ответ дан 27 April 2011 в 03:07

Другие вопросы по тегам:

Похожие вопросы: