Проблема с разрешениями tcpdump
У меня проблемы с запуском tcpdump. Я должен запустить tcpdump с пользователем без полномочий root. Искал в сети мою проблему и понял, что должен:
sudo setcap cap_net_admin=eip /usr/sbin/tcpdump
Это позволило мне запустить tcpdump с моим пользователем, но потом я получил:
you don't have permission to capture on that device
на любом устройстве я пытался захватить.
Также пошел немного грубой силы и сделал:
sudo chmod +s /usr/sbin/tcpdump
Это тоже не делало.
2 ответа
Уже немного поздно, но у меня была такая же проблема. Вам нужно дать tcpdump
разрешение и возможность разрешать необработанный захват пакетов и манипулирование сетевым интерфейсом.
Добавьте группу захвата и добавьте себя в нее:
sudo groupadd pcap
sudo usermod -a -G pcap $USER
Затем измените группу tcpdump
и установите разрешения:
sudo chgrp pcap /usr/sbin/tcpdump
sudo chmod 750 /usr/sbin/tcpdump
Наконец, используйте setcap
дать tcpdump
необходимые разрешения:
sudo setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump
Будьте осторожны, это позволит всем из группы pcap манипулировать сетевыми интерфейсами и читать необработанные пакеты!
Нашел здесь: Настройте tcpdump для работы без полномочий root
Возможно, это может сработать. Подобно тому, что было опубликовано уже. Это не было проверено на Ubuntu.
(используйте группу, членом которой является ваш пользователь) chgrp wireshark / usr / sbin / tcpdump
setcap 'CAP_NET_RAW + eip CAP_NET_ADMIN + eip' / usr / sbin / tcpdump
используя getcap / usr / sbin / tcpdump вы должны увидеть /usr/sbin/tcpdump = cap_net_admin,cap_net_raw+eip