Стандартная установка Wireshark не дает программе разрешение на доступ к сетевому интерфейсу.
Полагаю, мне нужно запустить программу с sudo
, но я не знаю, как добавить ее к значку - если это способ сделать это.
Вы можете попробовать это также, открыть терминал, выполнить эту команду
# setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
запустить wireshark от имени пользователя без полномочий root
Вы также можете запустить Wireshark с правами root, запустив gksu wireshark
из терминала.
Обратите внимание, что существуют проблемы безопасности при запуске Wireshark в этом режиме, а именно то, что любой эксплойт, который скомпрометировал Wireshark, теперь имеет привилегии root, а не привилегии пользователя. Это больше относится к Wireshark, чем к другим приложениям, потому что по своей природе (захват и обработка произвольного ввода) Wireshark более уязвима для эксплойтов, чем обычные настольные приложения. Вероятно, вы в безопасности в сети SOHO, но вы должны знать об этой проблеме, прежде чем продолжить.
Цитирования:
Для WireShark есть лучший способ. Бит, который обычно требует корня, является приложением сбора пакетов, и его можно настроить так, чтобы определенные люди могли использовать его без sudo
, gksu
, etc
.
В терминале (очень важно, что вы находитесь в терминале, а не только в диалоге Alt + F2) запустите это:
sudo dpkg-reconfigure wireshark-common
Это спросит вас, хотите ли вы разрешить не-root пользователя быть в состоянии нюхать. Это то, к чему мы стремимся, поэтому выберите Yes
и нажмите Return.
Это добавляет wireshark
группу. Любой в этой группе сможет прослушивать, не будучи root. Это, очевидно, более безопасно, чем просто позволить кому-нибудь понюхать, но это означает, что нет проверки пароля. Технически любой человек, имеющий доступ к компьютеру, вошедшему в систему с учетной записью wireshark
, сможет прослушивать. Если это приемлемо для вас, продолжайте.
Если нет, запустите это снова и выберите №.
Тогда вам просто нужно добавить пользователя в эту группу. Запустите это:
sudo adduser $USER wireshark
И перезапустите или выйдите из системы. Когда вы вернетесь в нее, вы должны начать нюхать без суеты о том, что вы root.
На самом деле вам не нужно запускать WireShark от имени пользователя root. Пожалуйста, прочитайте официальную страницу . Вкратце вы должны сделать:
sudo groupadd wireshark
sudo usermod -a -G wireshark $USER
sudo chgrp wireshark /usr/bin/dumpcap
sudo chmod o-rx /usr/bin/dumpcap
sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
sudo getcap /usr/bin/dumpcap
Затем выйдите и войдите снова.
Примечание: этот метод был протестирован на 16.04 LTS, 17.10 и 18.04 LTS.