tcpdump izinleri sorunu


13

TCpdump çalıştırmakta sorun yaşıyorum. Ben kök olmayan kullanıcı ile tcpdump çalıştırmak gerekir. Sorunum için web'de arama yaptım ve şunu anladım:

sudo setcap cap_net_admin=eip /usr/sbin/tcpdump

Bu benim kullanıcı ile tcpdump çalıştırmak için etkinleştirdi ama sonra var:

you don't have permission to capture on that device

yakalamaya çalıştığım herhangi bir cihazda.

Ayrıca küçük bir kaba kuvvet gitti ve yaptı:

sudo chmod +s /usr/sbin/tcpdump

Bu da olmadı.


Tcpdump kök ayrıcalıkları gerektirir, ikili dosyaya belirli Linux yetenekleri ayarlamanız gerekir: $ sudo setcap cap_net_raw, cap_net_admin = eip / usr / sbin / tcpdump
— DreamCoder

Bunu da yaptım ama almaya devam ediyorum:tcpdump: eth0: You don't have permission to capture on that device (socket: Operation not permitted
— Sivan Sigal


Bu da sorunlu çünkü çalıştığım kaynak kodunu değiştirmek istemiyorum ... Ayrıca, ne DreamCoder önerilen çalışması gerekir ama garip değil. Başka teklifiniz var mı?
— Sivan Sigal

Yanıtlar:


28

Biraz geç oldu, ama aynı problemi yaşadım. Ham paket yakalamalarına ve ağ arabirimi manipülasyonunatcpdump izin vermek için izin ve yetenek vermeniz gerekir .

Bir yakalama grubu ekleyin ve kendinizi gruba ekleyin:

sudo groupadd pcap
sudo usermod -a -G pcap $USER

Ardından, grubunu değiştirin tcpdumpve izinleri ayarlayın:

sudo chgrp pcap /usr/sbin/tcpdump
sudo chmod 750 /usr/sbin/tcpdump

Son olarak, gerekli izinleri setcapvermek tcpdumpiçin kullanın :

sudo setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump

Dikkatli olun, bu grup pcap herkesin ağ arayüzleri manipüle ve ham paketleri okumak için izin verecektir !

Burada buldum : tcpdump'ı kök olmayan olarak çalışacak şekilde yapılandırın


Bunu biraz sınırlayabilir ve sadece kullanabilirsiniz cap_net_raw,cap_setpcap=ep. Programın kaldırılması, iprogramımın çatallanmasına gerek olmadığıydı. Bu özel bir ikili içindir, yani ymmv.
— Dan

Bu aynı zamanda iftopIP adresi / DNS adı ile ağ kullanımını gösteren bir program için de çalıştı
— HeatfanJohn

0

Belki bu işe yarayabilir. Daha önce yayınlananlara benzer. Ubuntu üzerinde test edilmemiştir.

(kullanıcınızın üyesi olduğu bir grup kullanın) chgrp wireshark / usr / sbin / tcpdump

setcap 'CAP_NET_RAW + eip CAP_NET_ADMIN + eip' / usr / sbin / tcpdump

getcap / usr / sbin / tcpdump kullanarak / usr / sbin / tcpdump = cap_net_admin, cap_net_raw + eip

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.