У меня проблемы с запуском 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
Это тоже не делало.
14.04
permissions
tcpdump
Сиван Сигал
источник
источник
tcpdump: eth0: You don't have permission to capture on that device (socket: Operation not permitted
Ответы:
Уже немного поздно, но у меня была такая же проблема. Вам необходимо дать
tcpdump
разрешение и возможность разрешать необработанный захват пакетов и манипулирование сетевым интерфейсом .Добавьте группу захвата и добавьте себя в нее:
Далее, измените группу
tcpdump
и установите права доступа:Наконец, используйте,
setcap
чтобы датьtcpdump
необходимые разрешения:Будьте осторожны, это позволит всем из группы pcap манипулировать сетевыми интерфейсами и читать необработанные пакеты!
Нашел здесь: Настройте tcpdump для работы без полномочий root
источник
cap_net_raw,cap_setpcap=ep
. Удаление было из-за того,i
что моя программа не нуждалась в форке. Это для пользовательского двоичного файла, так что ymmv.iftop
программы, которая показывает использование сети по IP-адресу / DNS-имениВозможно, это может сработать. Подобно тому, что было опубликовано уже. Это не было проверено на 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
источник