ฉันใช้ Ubuntu 13.04
Wireshark จะไม่แสดงบันทึกใด ๆ ให้ฉันจะไม่ทำงานเลย ฉันเชื่อมต่อกับ WiFi ของฉันแล้วเราเตอร์ Belkin
ฉันใช้ Ubuntu 13.04
Wireshark จะไม่แสดงบันทึกใด ๆ ให้ฉันจะไม่ทำงานเลย ฉันเชื่อมต่อกับ WiFi ของฉันแล้วเราเตอร์ Belkin
คำตอบ:
เปิดเทอร์มินัลโดยกดCtrl+ Alt+ Tและพิมพ์คำสั่งต่อไปนี้:
sudo dpkg-reconfigure wireshark-common
กดลูกศรขวาและป้อนใช่
sudo chmod +x /usr/bin/dumpcap
ตอนนี้คุณควรจะสามารถรันได้โดยไม่ต้องรูทและคุณจะสามารถจับภาพได้
chmod +x
ทำให้ dumpcap สามารถเรียกใช้งานได้กับทุกคน อีกทางเลือกหนึ่งคือการเพิ่มผู้ใช้ที่คุณต้องการอนุญาตให้จับภาพไว้ในกลุ่ม wireshark
ข้อความ "ไม่สามารถใช้อินเทอร์เฟซสำหรับการจับภาพในระบบนี้ด้วยการกำหนดค่าปัจจุบัน" ปรากฏขึ้นโดยทั่วไปเมื่อคุณไม่มีสิทธิ์ในการเข้าถึงอินเทอร์เฟซเครือข่ายสำหรับการตรวจสอบ ลองเปิดเทอร์มินัลแล้วเรียกใช้ gksudo wireshark หากมีอินเตอร์เฟสเครือข่ายปรากฏขึ้นนั่นเป็นเพราะเมื่อคุณรัน wireshark โดยไม่ได้รับอนุญาตรูทคุณจะไม่มีสิทธิ์ตรวจสอบ
หากต้องการแก้ไขให้เรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัล:
sudo setcap CAP_NET_RAW,CAP_NET_ADMIN,CAP_DAC_OVERRIDE+eip /usr/bin/dumpcap
sudo setcap
คำสั่งแทน - หรือใช้sudo dpkg-reconfigure wireshark-common
เพื่อให้แพ็กเกจตั้งค่าความสามารถให้คุณ
เมื่อฉันพยายามเรียกใช้ wireshark ฉันได้รับข้อผิดพลาดนี้:
Couldn't run /usr/bin/dumpcap in child process: Permission denied
ดังนั้นฉันจึงเรียกใช้เป็นรูทซึ่งปิดใช้งาน LUA หน้าต่างป๊อปอัปแจ้งให้ฉันทราบว่าปิดการใช้งาน LUA นั้นน่ารำคาญมากฉันพยายามแก้ไข
ก่อนอื่นฉันตรวจสอบสิทธิพิเศษด้วยการวิ่ง
ls -l /usr/bin/dumpcap
ซึ่งส่งผลให้:
-rwxr-xr-- 1 root wireshark 96464 Jan 24 10:31 /usr/bin/dumpcap
เห็นได้ชัดว่านี่คือสิ่งที่ Wireshark บอกฉัน ดังนั้นฉันเพิ่งเปลี่ยนเจ้าของจากรูทเป็นบัญชีของฉัน
sudo chown -R $LOGNAME /usr/bin/dumpcap
ซึ่งใช้ได้ผลฉันสามารถรัน wireshark ได้โดยไม่ต้องรูท
Googled“ ไม่สามารถเรียกใช้ / usr / bin / dumpcap ในกระบวนการลูก” ไม่พบและพบคำถามนี้:
ฉันไม่สามารถใช้ wireshark "ไม่สามารถเรียกใช้ / usr / bin / dumpcap ในกระบวนการลูก"
ซึ่งทำเครื่องหมายว่าซ้ำกันและนำมาให้ฉันที่นี่ ทางออกที่นำเสนอคือ:
sudo chmod +x /usr/bin/dumpcap
คำสั่งดังกล่าวได้ผลจริงๆ แต่ผมอยากจะเพิ่มการรักษาความปลอดภัยคำเตือน ที่จะช่วยให้การจับแพ็คเก็ตสำหรับผู้ใช้ทุกคนในระบบ อาจเป็นโซลูชันชั่วคราว แต่ไม่ต้องการเป็นโซลูชันถาวร
ฉันทำตามคำแนะนำจากหน้า wireshark เกี่ยวกับสิทธิ์การจับภาพ:
https://wiki.wireshark.org/CaptureSetup/CapturePrivileges
พวกเขาแนะนำให้จำกัด การดำเนิน dumpcap ไปยังกลุ่มที่เฉพาะเจาะจงหรือผู้ใช้
ฉันทำตามคำแนะนำเหล่านั้น (พร้อมการดัดแปลง):
การตั้งค่าสิทธิ์เครือข่ายสำหรับ dumpcap หากเคอร์เนลและระบบไฟล์ของคุณรองรับความสามารถของไฟล์
ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งเครื่องมือที่จำเป็นเช่นคำสั่ง setcap
sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
(หมายเหตุ: แทนที่ / usr / bin ด้วย / usr / sbin ในกรณีที่คุณได้รับข้อผิดพลาดที่ระบุว่า dumpcap ไม่ได้อยู่ใน / usr / bin)
การตั้งค่าสิทธิ์เครือข่ายสำหรับดัมพ์ถ้าเคอร์เนลและระบบไฟล์ของคุณไม่รองรับความสามารถของไฟล์
ในกรณีนี้คุณจะต้องทำให้ dumpcap set-UID เป็นรูท
sudo chown root /usr/bin/dumpcap
(หมายเหตุ: แทนที่ / usr / bin ด้วย / usr / sbin ในคำสั่งนี้และคำสั่งถัดไปในกรณีที่คุณได้รับข้อผิดพลาดที่ระบุว่า dumpcap ไม่ได้อยู่ใน / usr / sbin)
sudo chmod u+s /usr/bin/dumpcap
จำกัด สิทธิ์การดักจับเฉพาะกลุ่มเดียว
หลังจากตั้งค่าสิทธิ์เครือข่ายของ dumpcap แล้ว:
สร้างผู้ใช้ "wireshark" ในกลุ่ม "wireshark"
sudo chgrp wireshark /usr/sbin/dumpcap
sudo chmod o-rx /usr/sbin/dumpcap
ตรวจสอบให้แน่ใจว่า Wireshark ทำงานได้เฉพาะจากรากและจากผู้ใช้ในกลุ่ม "wireshark" ( ฉันทำตามขั้นตอนนี้เฉพาะในตอนท้าย - ไม่เกิน )
และในที่สุดอีกสองขั้นตอน:
sudo dpkg-reconfigure wireshark-common
เลือก 'ใช่'
ออกจากระบบส่วนต่อประสานทั้งหมดสำหรับผู้ใช้ (รวมถึง ssh ซึ่งเป็นความผิดพลาดที่ใหญ่ที่สุดของฉัน) และเข้าสู่ระบบอีกครั้ง
หวังว่าคุณควรเริ่มต้น wireshark และดูอินเทอร์เฟซทั้งหมดเป็นผู้ใช้ปกติ (ไม่ได้ใช้ sudo)
wireshark &
และถ้าคุณตรวจสอบการอนุญาตไฟล์
ls -la /usr/bin/dumpcap
อนุญาตให้ผู้ใช้และกลุ่มเท่านั้นที่จะดำเนินการ
-rwxr-xr-- 1 root wireshark
gksudo wireshark
เป็นราก: