Я использую Ubuntu 13.04.
Wireshark не будет показывать мне никаких журналов, вообще не будет работать. Я подключен к своему WiFi, роутеру Belkin.
Я использую Ubuntu 13.04.
Wireshark не будет показывать мне никаких журналов, вообще не будет работать. Я подключен к своему WiFi, роутеру Belkin.
Ответы:
Откройте терминал, нажав Ctrl+ Alt+, Tи введите следующие команды:
sudo dpkg-reconfigure wireshark-common
нажмите стрелку вправо и введите для да
sudo chmod +x /usr/bin/dumpcap
Теперь вы сможете запустить его без рута, и вы сможете захватывать.
chmod +x
делает dumpcap исполняемым для всех. Альтернативой может быть добавление пользователей, которым вы хотите разрешить захват, в группу wireshark.
Сообщение «Нет интерфейса для захвата в этой системе с текущей конфигурацией» обычно появляется, когда у вас нет прав доступа к сетевым интерфейсам для мониторинга. Попробуйте открыть терминал и запустить gksudo wireshark. Если появляется несколько сетевых интерфейсов, это потому, что когда вы запускаете wireshark без прав root, у вас нет прав для мониторинга.
Чтобы это исправить, запустите следующую команду в терминале:
sudo setcap CAP_NET_RAW,CAP_NET_ADMIN,CAP_DAC_OVERRIDE+eip /usr/bin/dumpcap
sudo setcap
команду вместо - или использовать , sudo dpkg-reconfigure wireshark-common
чтобы иметь пакет набор возможностей для вас.
Когда я попытался запустить 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 говорил мне. Так что я просто сменил владельца с рута на свой акк
sudo chown -R $LOGNAME /usr/bin/dumpcap
Что сработало, теперь я могу запустить wireshark без рута
Гуглил «не удалось запустить / 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 set-UID для root.
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 работает только от пользователя root и от пользователя из группы «wireshark» ( ЭТОГО ШАГА Я ТОЛЬКО В КОНЦЕ - НЕ ЗАДЕЕ )
И, наконец, еще два шага:
sudo dpkg-reconfigure wireshark-common
Выберите «да».
Выйдите из ВСЕХ интерфейсов для пользователя (включая ssh, что было моей самой большой ошибкой) и войдите снова.
Надеюсь, вам следует запустить wireshark и увидеть все интерфейсы как обычный пользователь (без использования sudo)
wireshark &
И если вы проверите файл разрешения
ls -la /usr/bin/dumpcap
Это позволяет ТОЛЬКО ПОЛЬЗОВАТЕЛЮ и ГРУППЕ выполнить
-rwxr-xr-- 1 корневой проволочный акул
gksudo wireshark
.