Come posso eseguire WireShark, con i privilegi di root?


95

Un'installazione standard di Wireshark non autorizza il programma ad accedere all'interfaccia di rete.

Suppongo di dover eseguire il programma con sudo, ma non so come aggiungerlo all'icona - se è questo il modo di farlo.


Stai parlando di WireShark? In caso contrario, puoi collegarti alla home page dell'applicazione in modo che possiamo vedere di cosa stai parlando. Grazie.
Oli

In realtà, probabilmente sta parlando di Wireshark piuttosto che di WireShark. :-)

Potresti provare lo tcpdumpstrumento in Linux se wiresharkti dà troppi problemi.
warfreak92,

Risposte:


149

Per WireShark c'è un modo migliore. Il bit che deve normalmente radice è l'applicazione raccolta pacchetto e questo può essere configurato per consentire certe persone di utilizzare senza sudo, gksu, etc.

In un terminale (molto importante che tu sia in un terminale, non solo nella finestra di dialogo Alt + F2) esegui questo:

sudo dpkg-reconfigure wireshark-common

Questo ti chiederà se vuoi consentire all'utente non root di essere in grado di annusare. Questo è ciò a cui miriamo, quindi seleziona Yese premi Invio.

Riconfigurazione dei cavi comuni

Questo aggiunge un wiresharkgruppo. Chiunque in quel gruppo sarà in grado di annusare senza essere root. Questo è ovviamente più sicuro che permettere a chiunque di annusare, ma significa che non c'è controllo della password. Tecnicamente qualsiasi persona con accesso a un computer connesso con un wiresharkaccount sarà in grado di annusare. Se questo è accettabile per te, continua.

In caso contrario, eseguirlo di nuovo e selezionare no.

Quindi devi solo aggiungere l'utente a quel gruppo. Esegui questo:

sudo adduser $USER wireshark

E riavviare o disconnettersi. Quando torni, dovresti iniziare a annusare senza fare storie sull'essere root.


2
Un modo per saltare il passaggio di riavvio / logout?
Taha Jahangir,

4
Questa soluzione ha smesso di funzionare nel 14.04
Janghou

9
E, sì, è sicuramente un modo molto migliore rispetto all'esecuzione di Wireshark come root. Il file README.packaging nell'origine Wireshark dice "WIRESHARK CONTIENE OLTRE DUE MILIONI DI LINEE DI CODICE SORGENTE. NON ESEGUARLE COME ROOT."

3
@TahaJahangir Se il riavvio / logout è scomodo, è possibile utilizzare il newgrp wiresharkcomando per inserire temporaneamente il gruppo dopo essere diventato membro del wiresharkgruppo.
Lekensteyn,

3
@TahaJahangir e Oli: Molto più conveniente della disconnessione è usare su - $USERcome descritto in Ricarica le assegnazioni di gruppo di un utente Linux senza disconnettersi - Super User
nealmcb

3

È inoltre possibile eseguire Wireshark con i privilegi di root eseguendo gksu wiresharkdal terminale.

Si noti che esistono problemi di sicurezza con l'esecuzione di Wireshark in questa modalità, vale a dire che qualsiasi exploit che comprometta Wireshark ora ha privilegi di root piuttosto che privilegi dell'utente. Questo è più preoccupante per Wireshark rispetto ad altre applicazioni perché, per sua natura (acquisizione ed elaborazione di input arbitrari), Wireshark è più vulnerabile agli exploit rispetto alle tipiche applicazioni desktop. Probabilmente sei al sicuro su una rete SOHO, ma devi essere consapevole di questa preoccupazione prima di procedere.

citazioni:


L'ho appena configurato con --enable-setcap-install flag quindi non posso farlo.
Sorriso

Questo è molto più pericoloso e più problematico, perché ci sono bug più sfruttabili quando si esegue la GUI completa come root e problemi di configurazione possono sorgere quando un programma di GUI viene eseguito come root. Vedi la soluzione dpkg-reconfigure sopra per un'opzione molto migliore.
nealmcb,

Per gli utenti desktop, ritengo che questa sia una soluzione alternativa. Quando si esegue l'app sudo, tutti i file creati hanno l'autorizzazione di root ed è necessario continuare a modificare costantemente le autorizzazioni dei file per renderli disponibili all'utente corrente nella propria directory home. Per server e amministratori di sistema in generale, sudo è in realtà l'approccio migliore.
JulioHM,

@JulioHM L'esecuzione di Wireshark come root è pericolosa per tutti, compresi server e amministratori di sistema.
kraxor,

1
Circa alla riga 40 del file doc / README.packaging di Wireshark , dice "WIRESHARK CONTIENE OLTRE DUE MILIONI DI LINEE DI CODICE SORGENTE. NON ESEGUARLO COME ROOT." Prendi quella dichiarazione molto sul serio.

3

Davvero non è necessario avviare WireShark come root. Si prega di leggere la pagina ufficiale . In breve, dovresti fare:

sudo groupadd wireshark
sudo usermod -a -G wireshark $USER
sudo chgrp wireshark /usr/bin/dumpcap
sudo chmod o-rx /usr/bin/dumpcap
sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
sudo getcap /usr/bin/dumpcap

Quindi disconnettersi e accedere nuovamente.

Nota: questo metodo è stato testato su 16.04 LTS, 17.10 e 18.04 LTS.


1
Questo rimarrà carico dal caricamento delle interfacce se non modificato. sudo chgrp USER_NAME / usr / bin / dumpcap
amrx

1

puoi provare anche questo, aprire il terminale, eseguire questo comando

# setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap

eseguire WireShark come utente non root

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.