ไม่มีอินเตอร์เฟสที่สามารถทำการดักจับได้


24

ฉันใช้ Ubuntu 13.04

Wireshark จะไม่แสดงบันทึกใด ๆ ให้ฉันจะไม่ทำงานเลย ฉันเชื่อมต่อกับ WiFi ของฉันแล้วเราเตอร์ Belkin


การแก้ปัญหาอย่างรวดเร็วไม่ได้แก้ปัญหา: คุณสามารถเรียกใช้ Wireshark gksudo wiresharkเป็นราก:
Soulsource

คำตอบ:


45

เปิดเทอร์มินัลโดยกดCtrl+ Alt+ Tและพิมพ์คำสั่งต่อไปนี้:

sudo dpkg-reconfigure wireshark-common

กดลูกศรขวาและป้อนใช่

sudo chmod +x /usr/bin/dumpcap

ตอนนี้คุณควรจะสามารถรันได้โดยไม่ต้องรูทและคุณจะสามารถจับภาพได้


4
+1 มันทำงานบน 14.04 ด้วย หมายเหตุ: เอกสารบอกว่า : "การจับแพ็คเก็ต USB ไม่ได้เปิดใช้งานสำหรับผู้ใช้ที่ไม่ใช่รูทโดยใช้ความสามารถของ Linux คุณต้องจับแพ็กเก็ตโดยใช้วิธีที่อธิบายไว้ใน I./a. การตั้งค่า set-user-id อย่างถาวรโดยใช้ dpkg -statoverride หรือรัน Wireshark เป็น root "
jfs

มันจะเป็นความช่วยเหลือที่ดีสำหรับมือใหม่ถ้าคุณยังสามารถอธิบายเป็นสิ่งที่กำลังทำกับคำสั่งดังกล่าวที่ทำให้มันทำงาน
อาเหม็ด

1
มันทำงานบน LTS 14.04 .... ขอบคุณมาก
THN

chmod +xทำให้ dumpcap สามารถเรียกใช้งานได้กับทุกคน อีกทางเลือกหนึ่งคือการเพิ่มผู้ใช้ที่คุณต้องการอนุญาตให้จับภาพไว้ในกลุ่ม wireshark
domen

2

ข้อความ "ไม่สามารถใช้อินเทอร์เฟซสำหรับการจับภาพในระบบนี้ด้วยการกำหนดค่าปัจจุบัน" ปรากฏขึ้นโดยทั่วไปเมื่อคุณไม่มีสิทธิ์ในการเข้าถึงอินเทอร์เฟซเครือข่ายสำหรับการตรวจสอบ ลองเปิดเทอร์มินัลแล้วเรียกใช้ gksudo wireshark หากมีอินเตอร์เฟสเครือข่ายปรากฏขึ้นนั่นเป็นเพราะเมื่อคุณรัน wireshark โดยไม่ได้รับอนุญาตรูทคุณจะไม่มีสิทธิ์ตรวจสอบ

หากต้องการแก้ไขให้เรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัล:

sudo setcap CAP_NET_RAW,CAP_NET_ADMIN,CAP_DAC_OVERRIDE+eip /usr/bin/dumpcap

"ลองเปิดเทอร์มินัลแล้วเรียกใช้ gksudo wireshark" โปรดทราบว่าเอกสารนี้บอกว่า "WIRESHARK มีมากกว่าสองล้านสายของรหัสแหล่งที่มาอย่าเรียกใช้พวกเขาเป็นราก" ก่อนที่จะทำอย่างนั้น ทำsudo setcapคำสั่งแทน - หรือใช้sudo dpkg-reconfigure wireshark-commonเพื่อให้แพ็กเกจตั้งค่าความสามารถให้คุณ

0

เมื่อฉันพยายามเรียกใช้ 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 ได้โดยไม่ต้องรูท


0

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)

  • เริ่ม Wireshark ในฐานะที่ไม่ใช่รูทและให้แน่ใจว่าคุณเห็นรายการอินเตอร์เฟสและสามารถทำการถ่ายทอดสดได้ ( ฉันขอคำแนะนำนี้ไม่ทำงานสำหรับฉัน )

การตั้งค่าสิทธิ์เครือข่ายสำหรับดัมพ์ถ้าเคอร์เนลและระบบไฟล์ของคุณไม่รองรับความสามารถของไฟล์

ในกรณีนี้คุณจะต้องทำให้ 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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.