Nie ma interfejsów, na których można wykonać przechwytywanie

24

Używam Ubuntu 13.04.

Wireshark nie pokaże mi żadnych dzienników, w ogóle nie będzie działać. Jestem połączony z moim WiFi, routerem Belkin.

Mike Wentworth
źródło
Szybkie obejście, a nie rozwiązanie: Można uruchomić Wireshark jako root: gksudo wireshark.
soulsource

Odpowiedzi:

45

Otwórz terminal, naciskając Ctrl+ Alt+ Ti wpisz następujące polecenia:

sudo dpkg-reconfigure wireshark-common

naciśnij strzałkę w prawo i wpisz „tak”

sudo chmod +x /usr/bin/dumpcap

powinieneś być teraz w stanie uruchomić go bez rootowania i będziesz mógł przechwytywać.

M.Tarun
źródło
4
+1. Działa również 14.04. Uwaga: doktorzy mówią : „przechwytywanie pakietów USB nie jest możliwe dla użytkowników innych niż root przy użyciu funkcji Linux. Musisz przechwytywać pakiety metodą opisaną w I./a., Ustawiając na stałe identyfikator zestawu użytkowników za pomocą dpkg -statoverride lub uruchom Wireshark jako root. ”
jfs
Byłaby to wielka pomoc dla początkujących, jeśli możesz również opisać, co się dzieje z powyższymi poleceniami, które sprawiają, że działa
Ahmed
1
TO DZIAŁA na LTS 14.04 .... Dziękuję bardzo.
ThN
chmod +xsprawia, że ​​dumpcap jest wykonywalny dla wszystkich. Alternatywą byłoby dodanie użytkowników, których chcesz zezwolić na przechwytywanie do grupy wireshark.
domen
2

Komunikat „Nie można użyć interfejsu do przechwytywania w tym systemie przy bieżącej konfiguracji” często pojawia się, gdy nie masz uprawnień dostępu do interfejsów sieciowych w celu monitorowania. Spróbuj otworzyć terminal i uruchomić gksudo wireshark. Jeśli pojawi się kilka interfejsów sieciowych, dzieje się tak dlatego, że gdy uruchomisz wireshark bez uprawnień roota, nie masz uprawnień do monitorowania.

Aby to naprawić, uruchom następującą komendę w terminalu:

sudo setcap CAP_NET_RAW,CAP_NET_ADMIN,CAP_DAC_OVERRIDE+eip /usr/bin/dumpcap
Vis
źródło
„Spróbuj otworzyć terminal i uruchomić gksudo wireshark.” Należy pamiętać, że w tym dokumencie jest napisane: „WIRESHARK ZAWIERA PONAD DWIE MILIONOWE LINIE KODU ŹRÓDŁA. NIE URUCHAMIAJCIE SIĘ JEGO ROOT”. zanim to zrobisz. sudo setcapZamiast tego wykonaj polecenie - lub użyj, sudo dpkg-reconfigure wireshark-commonaby pakiet ustawił dla Ciebie możliwości.
0

Kiedy próbowałem uruchomić wireshark, otrzymywałem ten błąd:

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

więc użyłem go jako root, który wyłączył LUA. Wyskakujące okienko informujące mnie o wyłączeniu LUA było tak irytujące, że próbowałem to naprawić.

po pierwsze sprawdziłem uprawnienia, uruchamiając

ls -l /usr/bin/dumpcap

co spowodowało:

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

to było oczywiste, właśnie to powiedział mi Wireshark. Właśnie zmieniłem właściciela z root na acc

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

Który działał, mogę teraz uruchomić Wireshark bez rootowania

Adam Verner
źródło
0

Googled „nie można uruchomić / usr / bin / dumpcap w procesie potomnym” i znalazł to pytanie:

Nie mogę użyć wireshark „nie można uruchomić / usr / bin / dumpcap w procesie potomnym”

Który jest oznaczony jako duplikat i przyprowadził mnie tutaj. Proponowane rozwiązanie to:

sudo chmod +x /usr/bin/dumpcap

Powyższe polecenie naprawdę działa, ale chciałbym dodać OSTRZEŻENIE dotyczące bezpieczeństwa . Umożliwi to przechwytywanie pakietów WSZYSTKIM UŻYTKOWNIKOM w systemie. Może to być rozwiązanie tymczasowe, ale nie pożądane jako rozwiązanie trwałe.

Postępowałem zgodnie z instrukcjami ze strony wireshark na temat uprawnień do przechwytywania:

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

oni POLECAMY ograniczać dumpcap wykonanie do określonej grupy lub użytkownika.

Postępowałem zgodnie z tymi instrukcjami (z adaptacjami):

Ustawianie uprawnień sieciowych dla zrzutu pamięci, jeśli jądro i system plików obsługują funkcje plików

  • Upewnij się, że zainstalowano niezbędne narzędzia, takie jak polecenie setcap.

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

(UWAGA: Zamień / usr / bin na / usr / sbin, jeśli pojawi się błąd wskazujący, że zrzutu nie ma w / usr / bin)

  • Uruchom Wireshark jako użytkownik inny niż root i upewnij się, że widzisz listę interfejsów i możesz przechwytywać na żywo. ( Zignorowałem tę instrukcję. NIE DZIAŁAŁO DLA MNIE )

Ustawianie uprawnień sieciowych dla zrzutu pamięci, jeśli jądro i system plików nie obsługują funkcji plików

W takim przypadku musisz ustawić Zrzut zrzutu-UID na root.

sudo chown root /usr/bin/dumpcap 

(UWAGA: Zamień / usr / bin na / usr / sbin w tym poleceniu i następnym poleceniu, jeśli pojawi się błąd wskazujący, że zrzutu nie ma w / usr / sbin)

sudo chmod u+s /usr/bin/dumpcap

Ograniczenie uprawnienia do przechwytywania tylko do jednej grupy

Po ustawieniu uprawnień sieciowych dumpcap:

  • Utwórz użytkownika „wireshark” w grupie „wireshark”.

    sudo chgrp wireshark /usr/sbin/dumpcap

    sudo chmod o-rx /usr/sbin/dumpcap

  • Upewnij się, że Wireshark działa tylko z poziomu roota i od użytkownika z grupy „wireshark” ( ZROBIŁEM TEN KROK TYLKO NA KOŃCU - NIE JESZCZE JESZCZE )

I wreszcie dwa kolejne kroki:

sudo dpkg-reconfigure wireshark-common

Wybierz „tak”.

Wyloguj WSZYSTKIE interfejsy dla użytkownika (w tym ssh, który był moim największym błędem) i zaloguj się ponownie.

Mamy nadzieję, że powinieneś uruchomić Wireshark i zobaczyć wszystkie interfejsy jako zwykły użytkownik (nie używający sudo)

wireshark &

A jeśli sprawdzisz uprawnienia do plików

ls -la /usr/bin/dumpcap

Umożliwia wykonanie TYLKO UŻYTKOWNIKA i GRUPY

-rwxr-xr-- 1 root wireshark

Marco A. Pivetta
źródło