Non ci sono interfacce su cui è possibile effettuare un'acquisizione


24

Sto usando Ubuntu 13.04.

Wireshark non mi mostrerà alcun registro, non funzionerà affatto. Sono connesso al mio WiFi, router Belkin.


Una soluzione rapida, non è una soluzione: È possibile eseguire Wireshark come root: gksudo wireshark.
soulsource

Risposte:


45

Apri un terminale premendo Ctrl+ Alt+ Te digita i seguenti comandi:

sudo dpkg-reconfigure wireshark-common

premi la freccia destra e inserisci per si

sudo chmod +x /usr/bin/dumpcap

ora dovresti essere in grado di eseguirlo senza root e sarai in grado di catturare.


4
+1. Funziona anche il 14.04. Nota: i documenti dicono : "l'acquisizione di pacchetti USB non è abilitata per gli utenti non root utilizzando le funzionalità di Linux. È necessario acquisire i pacchetti utilizzando il metodo descritto in I./a., Impostando l'ID set-utente in modo permanente utilizzando dpkg -statoverride o eseguendo Wireshark come root. "
jfs,

Sarebbe di grande aiuto per i neofiti, se puoi anche descrivere cosa viene fatto con i comandi di cui sopra che lo fanno funzionare
Ahmed

1
FUNZIONA su LTS 14.04 .... Grazie mille.
Giovedì

chmod +xrende dumpcap eseguibile a tutti. Un'alternativa sarebbe quella di aggiungere utenti che si desidera consentire l'acquisizione nel gruppo WireShark.
domen

2

Il messaggio "Nessuna interfaccia può essere utilizzata per l'acquisizione in questo sistema con la configurazione corrente" appare comunemente quando non si hanno i privilegi per accedere alle interfacce di rete per il monitoraggio. Prova ad aprire un terminale e eseguire gksudo WireShark. Se compaiono diverse interfacce di rete, è perché quando si esegue WireShark senza i permessi di root non si hanno i privilegi da monitorare.

Per risolvere il problema, esegui il seguente comando in un terminale:

sudo setcap CAP_NET_RAW,CAP_NET_ADMIN,CAP_DAC_OVERRIDE+eip /usr/bin/dumpcap

"Prova ad aprire un terminale e eseguire gksudo WireShark." Si noti che questo documento dice "WIRESHARK CONTIENE OLTRE DUE MILIONI DI LINEE DI CODICE SORGENTE. NON ESEGUARLE COME RADICI." prima di farlo. sudo setcapEsegui invece il comando oppure usa sudo dpkg-reconfigure wireshark-commonil pacchetto per impostare le funzionalità per te.

0

Quando ho provato a eseguire WireShark ho visualizzato questo errore:

Couldn't run /usr/bin/dumpcap in child process: Permission denied

quindi lo eseguivo come root, che disabilitava LUA. La finestra pop-up che mi informava che il LUA era stato disabilitato era così fastidioso, che ho provato a ripararlo.

prima di tutto ho controllato i privilegi eseguendo

ls -l /usr/bin/dumpcap

che ha portato a:

-rwxr-xr-- 1 root wireshark 96464 Jan 24 10:31 /usr/bin/dumpcap

era ovvio, questo è quello che Wireshark mi ha detto. Quindi ho appena cambiato il proprietario da root al mio acc

sudo chown -R $LOGNAME /usr/bin/dumpcap

Che ha funzionato, ora posso eseguire WireShark senza root


0

Googled "Impossibile eseguire / usr / bin / dumpcap nel processo figlio" e ho trovato questa domanda:

Non sono in grado di utilizzare WireShark "impossibile eseguire / usr / bin / dumpcap nel processo figlio"

Che è contrassegnato come duplicato e mi ha portato qui. La soluzione proposta è:

sudo chmod +x /usr/bin/dumpcap

Il comando sopra funziona davvero, ma vorrei aggiungere un avviso di sicurezza . Ciò consentirà l'acquisizione di pacchetti per TUTTI GLI UTENTI sul sistema. Può essere una soluzione temporanea, ma non desiderata come soluzione permanente.

Ho seguito le istruzioni dalla pagina WireShark sui privilegi di acquisizione:

https://wiki.wireshark.org/CaptureSetup/CapturePrivileges

Essi RACCOMANDARE limitare dumpcap esecuzione ad un gruppo o utente specifico.

Ho seguito quelle istruzioni (con adattamenti):

Impostazione dei privilegi di rete per dumpcap se il kernel e il file system supportano le capacità dei file

  • Assicurarsi di aver installato gli strumenti necessari, come il comando setcap.

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

(NOTA: Sostituisci / usr / bin con / usr / sbin nel caso in cui ricevi un errore che indica che il dumpcap non è in / usr / bin)

  • Avvia Wireshark come non root e assicurati di vedere l'elenco delle interfacce e di poter eseguire l'acquisizione live. ( HO IGNORATO QUESTA ISTRUZIONE. NON HO FUNZIONATO PER ME )

Impostazione dei privilegi di rete per dumpcap se il kernel e il file system non supportano le funzionalità dei file

In questo caso, dovrai impostare dumpcap set-UID su root.

sudo chown root /usr/bin/dumpcap 

(NOTA: Sostituisci / usr / bin con / usr / sbin in questo comando e il comando successivo nel caso in cui ricevi un errore che indica che dumpcap non è in / usr / sbin)

sudo chmod u+s /usr/bin/dumpcap

Limitazione dell'autorizzazione all'acquisizione a un solo gruppo

Dopo aver impostato i privilegi di rete di dumpcap:

  • Creare l'utente "WireShark" nel gruppo "WireShark".

    sudo chgrp wireshark /usr/sbin/dumpcap

    sudo chmod o-rx /usr/sbin/dumpcap

  • Assicurarsi che Wireshark funzioni solo da root e da un utente nel gruppo "WireShark" ( HO FATTO QUESTO PASSAGGIO SOLO ALLA FINE - NON ANCORA PIÙ )

E infine, altri due passaggi:

sudo dpkg-reconfigure wireshark-common

Scegli "sì".

Esci TUTTE le interfacce per l'utente (incluso ssh, che è stato il mio errore più grande) ed esegui nuovamente l'accesso.

Eventualmente, dovresti avviare WireShark e vedere tutte le interfacce come un utente normale (non usando sudo)

wireshark &

E se controlli i permessi dei file

ls -la /usr/bin/dumpcap

Consente l'esecuzione SOLO dell'UTENTE e del GRUPPO

-rwxr-xr-- 1 wirehark di 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.