Страницы

29 декабря 2015 г.

Wireshark. Запуск от своего имени в Linux

Можно взять и запустить Wireshark от root пользователя, но это плохая идея.
Сам по себе Wireshark может быть уязвим для некорректного трафика (случайного или преднамеренного), который  может навредить системе и нарушить ее правильную работу.
Естественно возникает вопрос: Если мы не можем запускать Wireshark с правами администратора, как же мы получим доступ к сетевому интерфейсу и захватим пакеты?
Здесь я приведу инструкцию по настройке запуска Wireshark от не-root пользователя на примере Debian дистрибутива (проверено также в Linux Mint, Ubuntu).
Установить компонент setcap:
sudo apt-get install libcap2-bin
Дождаться окончания установки.

Создать группу Wireshark
groupadd wireshark
usermod -a -G wireshark username
Добавить себя (username) в группу Wireshark.
Возможно, придется перелогиниться в системе.
newgrp wireshark
Назначить dumpcap исполняемым от группы Wireshark и изменить права доступа.
chgrp wireshark /usr/bin/dumpcap
chmod 750 /usr/bin/dumpcap
setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
getcap /usr/bin/dumpcap
/usr/bin/dumpcap = cap_net_admin,cap_net_raw+eip
Запустить Wireshark от своего имени, и обратить внимание, что на этот раз будет виден полный список сетевых адаптеров.
Если же этого не произошло, то обязательно проверить, что группа Wireshark присутствует в списке групп.