Jak uruchomić Wireshark z uprawnieniami roota?


94

Standardowa instalacja Wireshark nie daje programowi pozwolenia na dostęp do interfejsu sieciowego.

Przypuszczam, że muszę uruchomić program sudo, ale nie wiem, jak dodać go do ikony - jeśli tak to zrobić.


Mówisz o WireShark? Jeśli nie, możesz link do strony głównej aplikacji, abyśmy mogli zobaczyć, o czym mówisz. Dzięki.
Oli

Właściwie to pewnie mówi raczej o Wireshark niż WireShark. :-)

Możesz wypróbować tcpdumpnarzędzie w Linuksie, jeśli wiresharksprawia ci to zbyt wiele problemów.
warfreak92

Odpowiedzi:


149

W przypadku WireShark istnieje lepszy sposób. Bit, które zwykle musi korzeń jest zastosowanie zbiór pakietów i może być skonfigurowany tak, by niektóre osoby z niego korzystać bez sudo, gksu, etc.

W terminalu (bardzo ważne, że jesteś w terminalu, nie tylko w dialogu Alt + F2) uruchom:

sudo dpkg-reconfigure wireshark-common

Zostaniesz zapytany, czy chcesz zezwolić użytkownikom innym niż root na wąchanie. Właśnie do tego dążymy, więc wybierz Yesi naciśnij Return.

Ponowna konfiguracja wireshark-common

To dodaje wiresharkgrupę. Każdy w tej grupie będzie mógł wąchać bez rootowania. Jest to oczywiście bezpieczniejsze niż pozwolenie nikomu na wąchanie, ale oznacza to, że nie trzeba sprawdzać hasła. Technicznie każda osoba mająca dostęp do komputera zalogowanego za pomocą wiresharkkonta będzie mogła powąchać. Jeśli jest to dla ciebie do przyjęcia, kontynuuj.

Jeśli nie, uruchom go ponownie i wybierz nie.

Następnie wystarczy dodać użytkownika do tej grupy. Uruchomić to:

sudo adduser $USER wireshark

I uruchom ponownie lub wyloguj się. Kiedy wrócisz, powinieneś zacząć wąchać bez kłopotów z rootowaniem.


2
Jakikolwiek sposób na pominięcie kroku restartu / wylogowania?
Taha Jahangir,

4
To rozwiązanie przestało działać w 14.04
Janghou

9
I tak, to z pewnością znacznie lepszy sposób niż bieganie Wireshark jako root. Plik README.packaging w źródle Wireshark mówi: „WIRESHARK ZAWIERA PONAD DWIE MILIONOWE LINIE KODU ŹRÓDŁA. NIE URUCHAMIAJ GO JAKO KORZENIE”.

3
@TahaJahangir Jeśli ponowne uruchomienie / wylogowanie jest niewygodne, możesz użyć newgrp wiresharkpolecenia, aby tymczasowo wejść do grupy po uzyskaniu członkostwa w wiresharkgrupie.
Lekensteyn

3
@TahaJahangir i Oli: Znacznie wygodniejsze niż wylogowanie jest korzystanie z niego su - $USERzgodnie z opisem w Przeładuj zadania grupowe użytkowników Linuksa bez wylogowywania - Super User
nealmcb

3

Możesz również uruchomić Wireshark z uprawnieniami roota, uruchamiając go gksu wiresharkz terminala.

Zauważ, że istnieją obawy związane z bezpieczeństwem podczas działania Wireshark w tym trybie, a mianowicie, że każdy exploit, który narusza Wireshark, ma teraz uprawnienia roota, a nie uprawnienia użytkownika. Jest to bardziej problem z Wireshark niż z innymi aplikacjami, ponieważ ze względu na swoją naturę (przechwytywanie i przetwarzanie dowolnych danych wejściowych) Wireshark jest bardziej podatny na exploity niż typowe aplikacje komputerowe. Prawdopodobnie jesteś bezpieczny w sieci SOHO, ale powinieneś zdawać sobie sprawę z tego problemu przed kontynuowaniem.

Cytaty:


Właśnie skonfigurowałem go z flagą --enable-setcap-install, więc nie mogę tego zrobić.
Smile.Hunter

Jest to o wiele bardziej niebezpieczne i bardziej problematyczne, ponieważ istnieje więcej możliwych do wykorzystania błędów podczas uruchamiania pełnego GUI jako root, a problemy konfiguracyjne mogą pojawić się, gdy program GUI działa jako root. Zobacz rozwiązanie dpkg-rekonfiguruj powyżej, aby uzyskać znacznie lepszą opcję.
nealmcb

Dla użytkowników komputerów stacjonarnych uważam to za obejście. Podczas sudo aplikacji wszystkie tworzone przez nią pliki mają uprawnienia roota i musisz ciągle zmieniać uprawnienia do plików, aby były dostępne dla bieżącego użytkownika w katalogu domowym. Dla serwerów i sysadminów ogólnie sudo jest najlepszym rozwiązaniem.
JulioHM

@JulioHM Uruchamianie Wireshark jako root jest niebezpieczne dla wszystkich, w tym dla serwerów i administratorów.
kraxor

1
W przybliżeniu w wierszu 40 pliku doc ​​/ README.packaging Wiresharka jest napisane: „WIRESHARK ZAWIERA PONAD DWIE MILIONOWE LINIE KODU ŹRÓDŁA. Potraktuj to stwierdzenie bardzo poważnie.

3

Naprawdę nie musisz uruchamiać WireShark jako root. Proszę przeczytać oficjalną stronę . W skrócie powinieneś zrobić:

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

Następnie wyloguj się i zaloguj ponownie.

Uwaga: ta metoda została przetestowana na 16.04 LTS, 17.10 i 18.04 LTS.


1
Pozostaną interfejsy przed ładowaniem, chyba że zostaną zmienione. sudo chgrp USER_NAME / usr / bin / dumpcap
amrx

1

możesz spróbować również, otworzyć terminal, uruchomić to polecenie

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

uruchom wireshark jako użytkownik inny niż root

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.