Проблема с разрешениями 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

Другие вопросы по тегам