Как мне запустить wireshark с правами суперпользователя?

Стандартная установка Wireshark не дает программе разрешения на доступ к сетевому интерфейсу.

Я полагаю, что я должен запустить программу с sudo, но не знаю, как добавить его к значку - если это можно сделать таким образом.

Для WireShark есть лучший способ. Бит, который обычно требует root, - это приложение для сбора пакетов, и его можно настроить так, чтобы определенные люди могли использовать его без sudo, gksu, etc.

В терминале (очень важно, чтобы вы находились в терминале, а не просто в диалоге Alt + F2) запустите это:

sudo dpkg-reconfigure wireshark-common

Это спросит вас, хотите ли вы разрешить пользователю, не являющемуся пользователем root, возможность прослушивания. Это то, к чему мы стремимся, так что выбирайте Yes и нажмите кнопку возврата.

Reconfiguring wireshark-common

Это добавляет wireshark группа. Любой член этой группы сможет принюхиваться, не будучи root. Это, очевидно, более безопасно, чем просто позволить кто-нибудь нюхать, но это означает, что проверка пароля отсутствует. Технически любое лицо, имеющее доступ к компьютеру, вошедшее в систему с помощью wireshark аккаунт можно будет обнюхать. Если это приемлемо для вас, продолжайте.

Если нет, запустите это снова и выберите нет.

Затем вам просто нужно добавить пользователя в эту группу. Запустите это:

sudo adduser $USER wireshark

И перезапустите или выйдите из системы. Когда вы вернетесь, это должно позволить вам начать принюхиваться без всякой суеты из-за того, что вы корень.

На самом деле вам не нужно запускать WireShark от имени root. Пожалуйста, прочтите официальная страница. Вкратце, вы должны сделать:

sudo groupadd wiresharksudo usermod -a -G wireshark $USERsudo chgrp wireshark /usr/bin/dumpcapsudo chmod o-rx /usr/bin/dumpcapsudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcapsudo getcap /usr/bin/dumpcap

Затем выйдите из системы и снова войдите в систему.

Примечание: этот метод был протестирован на 16.04 LTS, 17.10 и 18.04 LTS.

Вы также можете запустить Wireshark с правами суперпользователя, выполнив gksu wireshark из терминала.

Обратите внимание, что при запуске Wireshark в этом режиме возникают проблемы с безопасностью, а именно: любой эксплойт, который компрометирует Wireshark, теперь имеет права суперпользователя, а не пользователя. Это больше беспокоит Wireshark, чем другие приложения, потому что по самой своей природе (захват и обработка произвольного ввода) Wireshark более уязвим для эксплойтов, чем обычные настольные приложения. Вероятно, вы в безопасности в сети SOHO, но вы должны знать об этой проблеме, прежде чем продолжить.

Цитаты:

вы также можете попробовать это, откройте терминал, выполните эту команду

# setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap

запустите wireshark от имени пользователя, не являющегося пользователем root

На самом деле, он, вероятно, говорит о Wireshark, а не WireShark. :slight_smile:

Для меня нормально запускать: Сначала: sudo dpkg-перенастройка wireshark-common выберите да, затем: `sudo chmod + x /usr/bin/dumpcap’

Вы говорите о WireShark? Если нет, не могли бы вы перейти по ссылке на домашнюю страницу приложения, чтобы мы могли видеть, о чем вы говорите. Спасибо.

Вы можете попробовать инструмент tcpdump в Linux, если wireshark доставляет вам слишком много проблем.