Trebuie să pornesc Wireshark local din interfața cu utilizatorul web a unui serviciu web pentru a începe imediat o sesiune de captură, folosind un plugin de captură extern pentru a se conecta la serviciul web. Când utilizați Firefox, pornirea Wireshark și apoi capturarea pachetelor funcționează. Când utilizați Chromium, Wireshark pornește, dar apoi captura de pachete eșuează, deoarece /usr/bin/dumpcap pare să fie restricționat.
- instalat Wireshark, astfel încât să poată fi utilizat de la utilizatori non-root.
- a adăugat utilizatorul meu la grupul wireshark:
sudo gpasswd -a $USER wireshark
- a pornit wireshark de la un terminal bash și a început cu succes o captură.
Apoi, am înregistrat o intrare pe desktop (xdg-settings set default-url-scheme-handler xxx xxx.desktop
):
[Intrare pe desktop]
Codificare=UTF-8
Name=Manager URL de captură la distanță
Tip=Aplicație
Exec=wireshark -k -i xxx -o extcap.xxx.url:%u
MimeType=x-scheme-handler/xxx
Terminal=fals
NoDisplay=true
Categorii=Utilitate
Făcând clic pe un link xxx://, pornește corect Wireshark, dar apoi Wireshark nu poate porni dumpcap:
Nu s-a putut rula /usr/bin/dumpcap în procesul copil: Permisiune refuzată
Dumpcap are setate capabilități de fișiere POSIX, dar se pare că sandboxingul crom ar putea schimba capacitățile de delimitare?
$ ls -l `care dumpcap`
-rwxr-xr-- 1 rădăcină wireshark 121344 15 martie 18:01 /usr/bin/dumpcap
$ getcap `care dumpcap`
/usr/bin/dumpcap cap_net_admin,cap_net_raw=eip
Cum îmi pot înregistra aplicația cu Chrome pentru a fi pornită corect cu drepturile depline ale utilizatorilor, astfel încât Wireshark să poată rula dumpcap?