ฉันต้องเริ่ม Wireshark ในเครื่องจากอินเทอร์เฟซผู้ใช้บนเว็บของบริการบนเว็บเพื่อเริ่มเซสชันการจับภาพทันที โดยใช้ปลั๊กอินการจับภาพภายนอกเพื่อเชื่อมต่อกับบริการบนเว็บ เมื่อใช้ Firefox การเริ่ม Wireshark จากนั้นการจับแพ็กเก็ตจะทำงาน เมื่อใช้ Chromium Wireshark จะเริ่มทำงาน แต่การจับแพ็กเก็ตล้มเหลวเนื่องจากดูเหมือนว่า /usr/bin/dumpcap จะถูกจำกัด
- ติดตั้ง Wireshark เพื่อให้สามารถใช้งานได้จากผู้ใช้ที่ไม่ใช่รูท
- เพิ่มผู้ใช้ของฉันในกลุ่ม wireshark:
sudo gpasswd -a $USER wireshark
- เริ่ม wireshark จากเทอร์มินัล bash และเริ่มจับภาพได้สำเร็จ
ต่อไป ฉันลงทะเบียนรายการเดสก์ท็อป (xdg-settings ตั้ง default-url-scheme-handler xxx xxx.desktop
):
[รายการเดสก์ท็อป]
การเข้ารหัส=UTF-8
ชื่อ=ตัวจัดการ URL การจับภาพระยะไกล
Type=ใบสมัคร
Exec=wireshark -k -i xxx -o extcap.xxx.url:%u
MimeType=x-scheme-handler/xxx
เทอร์มินัล = เท็จ
ไม่แสดงผล=จริง
หมวดหมู่=ยูทิลิตี้
การคลิกลิงก์ xxx:// อย่างถูกต้องจะเป็นการเริ่ม Wireshark แต่ Wireshark จะไม่สามารถเริ่มดัมพ์แคปได้:
ไม่สามารถเรียกใช้ /usr/bin/dumpcap ในกระบวนการย่อย: ปฏิเสธการอนุญาต
Dumpcap มีการตั้งค่าความสามารถไฟล์ POSIX แต่ดูเหมือนว่าโครเมียมแซนด์บ็อกซ์อาจเปลี่ยนความสามารถขอบเขตหรือไม่
$ ls -l `ซึ่งดัมพ์แคป`
-rwxr-xr-- 1 root wireshark 121344 15 มี.ค. 18:01 /usr/bin/dumpcap
$ getcap `ซึ่งดัมพ์แคป '
/usr/bin/dumpcap cap_net_admin,cap_net_raw=eip
ฉันจะลงทะเบียนแอปพลิเคชันของฉันกับ chromium เพื่อให้เริ่มต้นได้อย่างถูกต้องโดยผู้ใช้มีสิทธิ์เต็มเพื่อให้ Wireshark สามารถเรียกใช้ dumpcap ได้อย่างไร