Я использую Ubuntu 13.04.
Wireshark не будет показывать мне никаких логов, вообще не будет работать. Я подключен к своему WiFi, роутеру Belkin.
Сообщение «Нет интерфейса для захвата в этой системе с текущей конфигурацией» обычно появляется, когда у вас нет прав доступа к сетевым интерфейсам для мониторинга. Попробуйте открыть терминал и запустить gksudo wireshark. Если появляется несколько сетевых интерфейсов, это потому, что когда вы запускаете wireshark без прав root, у вас нет прав для мониторинга.
Чтобы исправить это, выполните следующую команду в терминале:
sudo setcap CAP_NET_RAW,CAP_NET_ADMIN,CAP_DAC_OVERRIDE+eip /usr/bin/dumpcap
Когда я пытался запустить wireshark, я получал эту ошибку:
Couldn't run /usr/bin/dumpcap in child process: Permission denied
, поэтому я использовал его как root, что отключало LUA. Всплывающее окно, информирующее меня о том, что LUA был отключен, было настолько раздражающим, что я попытался это исправить.
Сначала я проверил привилегии, запустив
ls -l /usr/bin/dumpcap
, что привело к:
-rwxr-xr-- 1 root wireshark 96464 Jan 24 10:31 /usr/bin/dumpcap
это было очевидно, это то, что Wireshark говорил мне. Поэтому я просто сменил владельца с root на свой аккаунт
sudo chown -R $LOGNAME /usr/bin/dumpcap
Что сработало, теперь я могу запустить wireshark без root
Погугленный “не мог выполнить/usr/bin/dumpcap в дочернем процессе” и нашел этот вопрос:
Я не могу использовать wireshark, "не мог выполнить/usr/bin/dumpcap в дочернем процессе"
Который отмечен как дубликат и принесен меня здесь. Предлагаемое решение:
sudo chmod +x /usr/bin/dumpcap
Вышеупомянутая команда действительно работает, но я хотел бы добавить предупреждение системы безопасности. Это позволит захват пакетов для ВСЕХ ПОЛЬЗОВАТЕЛЕЙ в системе. Это может быть временное решение, но не желаемое как постоянное решение.
Я следовал инструкциям от wireshark страницы приблизительно о полномочиях получения:
https://wiki.wireshark.org/CaptureSetup/CapturePrivileges
Они РЕКОМЕНДУЮТ, ограничивают dumpcap выполнение определенной группой или пользователем.
Я следовал тем инструкциям (с адаптацией):
Установка сетевых полномочий для dumpcap, если ядро и возможности файла поддержки файловой системы
Удостоверьтесь установку необходимых инструментов, таких как команда setcap.
sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
(ПРИМЕЧАНИЕ: Замените/usr/bin/usr/sbin в случае, если Вы получаете ошибку, которая указывает, что dumpcap не находится в/usr/bin),
Установка сетевых полномочий для dumpcap, если ядро и файловая система не поддерживают возможности файла
В этом случае необходимо будет сделать dumpcap UID набора для укоренения.
sudo chown root /usr/bin/dumpcap
(ПРИМЕЧАНИЕ: Замените/usr/bin/usr/sbin в этой команде и следующей команде в случае, если Вы получаете ошибку, которая указывает, что dumpcap не находится в/usr/sbin),
sudo chmod u+s /usr/bin/dumpcap
Ограничение разрешения получения только одной группе
Установив сетевые полномочия dumpcap:
Создайте пользователя "wireshark" в группе "wireshark".
sudo chgrp wireshark /usr/sbin/dumpcap
sudo chmod o-rx /usr/sbin/dumpcap
Гарантируйте работы Wireshark только от корня и от пользователя в "wireshark" группе (я DID ЭТОТ ШАГ ТОЛЬКО В КОНЦЕ - НЕ ВСЕ ЖЕ)
И наконец, еще два шага:
sudo dpkg-reconfigure wireshark-common
Выберите 'да'.
Выйдите из системы ВСЕ интерфейсы для пользователя (включая ssh, который был моей самой большой ошибкой), и войдите в систему снова.
Хотелось бы надеяться, необходимо запустить wireshark и рассматривать все интерфейсы как обычного пользователя (не использующий sudo)
wireshark &
И если Вы проверяете полномочия файла
ls -la /usr/bin/dumpcap
Это позволяет ТОЛЬКО ПОЛЬЗОВАТЕЛЮ и ГРУППЕ выполняться
- rwxr-xr - 1 корень wireshark
Откройте терминал, нажав Ctrl kbd> + Alt kbd> + T kbd> и введите следующие команды:
sudo dpkg-reconfigure wireshark-common
нажмите стрелка вправо и введите yes
sudo chmod +x /usr/bin/dumpcap
, теперь вы сможете запускать его без рута и сможете захватывать.