कोई इंटरफेस नहीं है जिस पर एक कब्जा किया जा सकता है


24

मैं Ubuntu 13.04 का उपयोग कर रहा हूं।

Wireshark मुझे कोई लॉग नहीं दिखाएगा, बिल्कुल काम नहीं करेगा। मैं अपने वाईफाई, बेल्किन राउटर से जुड़ा हुआ हूं।


त्वरित समाधान, समाधान नहीं: आप वायरशार्क को रूट के रूप में चला सकते हैं gksudo wireshark:।
आत्मिक स्रोत

जवाबों:


45

दबाकर टर्मिनल खोलें Ctrl+ Alt+ Tऔर निम्न कमांड टाइप करें:

sudo dpkg-reconfigure wireshark-common

दायाँ तीर दबाएँ और हाँ में प्रवेश करें

sudo chmod +x /usr/bin/dumpcap

अब आपको इसे रूट के बिना चलाने में सक्षम होना चाहिए और आप इसे कैप्चर कर पाएंगे।


4
+1। यह 14.04 पर भी काम करता है। नोट: डॉक्स कहते हैं : "लिनक्स क्षमताओं का उपयोग करके गैर-रूट उपयोगकर्ताओं के लिए USB पैकेट कैप्चर करना सक्षम नहीं है। आपको I./a में वर्णित विधि का उपयोग करके पैकेट को कैप्चर करना होगा। सेट-यूजर-आईडी को स्थायी रूप से dpkg का उपयोग करके सेट करें। -स्टैटओवर्राइड या रूट के रूप में विंडशार्क चलाना। "
jfs

यह newbies के लिए बहुत मददगार होगा, अगर आप यह भी वर्णन कर सकते हैं कि उपरोक्त आदेशों के साथ क्या किया जा रहा है जो इसे काम करते हैं
अहमद

1
LTS 14.04 पर यह काम करता है .... बहुत बहुत धन्यवाद।
ThN

chmod +xहर किसी के लिए निष्पादन योग्य बनाता है। एक विकल्प उन उपयोगकर्ताओं को जोड़ना होगा जिन्हें आप वायरहर्स्क समूह में कैप्चर करने की अनुमति देना चाहते हैं।
व्यक्त करते हैं

2

"कोई इंटरफ़ेस इस प्रणाली में वर्तमान कॉन्फ़िगरेशन के साथ कैप्चर करने के लिए उपयोग नहीं किया जा सकता है" संदेश आमतौर पर तब दिखाई देता है जब आपके पास निगरानी के लिए नेटवर्क इंटरफेस तक पहुंचने के विशेषाधिकार नहीं होते हैं। टर्मिनल खोलने का प्रयास करें और gksudo वायरशार्क चला रहे हैं। यदि कई नेटवर्क इंटरफेस दिखाई देते हैं, तो यह इसलिए है क्योंकि जब आप बिना किसी परमिशन के वायरशार्क चलाते हैं तो आपके पास निगरानी के विशेषाधिकार नहीं होते हैं।

इसे ठीक करने के लिए, टर्मिनल में निम्न कमांड चलाएँ:

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

"टर्मिनल खोलने की कोशिश करें और gksudo वायरशार्क चला रहे हैं।" कृपया ध्यान दें कि यह दस्तावेज़ कहता है, "वारिस कॉन्टिन्यूस टू बिलो माइंस लाइन्स ऑफ SOCECE कोड। ऐसा न करें जो रूट के रूप में हो।" करने से पहले। sudo setcapइसके बजाय कमांड करें - या sudo dpkg-reconfigure wireshark-commonपैकेज को आपके लिए क्षमताओं को सेट करने के लिए उपयोग करें।

0

जब मैंने वायरशार्क चलाने की कोशिश की तो मुझे यह त्रुटि मिल रही थी:

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

यह स्पष्ट था, यह वही है जो मुझे बता रहा है। इसलिए मैंने बस मालिक को रूट से मेरे एसीसी में बदल दिया

sudo chown -R $LOGNAME /usr/bin/dumpcap

जो काम किया, मैं अब बिना रूट के वायरशर्क चला सकता हूं


0

गुग्लड "बच्चे प्रक्रिया में नहीं जा सकता / usr / bin / डंपकैप" और इस प्रश्न को पाया:

मैं वायरशार्क का उपयोग करने में सक्षम नहीं हूं "बाल प्रक्रिया में / usr / बिन / डंपकैप नहीं चला सकता"

जिसे डुप्लिकेट के रूप में चिह्नित किया गया है और मुझे यहां लाया गया है। प्रस्तावित समाधान है:

sudo chmod +x /usr/bin/dumpcap

उपरोक्त कमांड वास्तव में काम करता है, लेकिन मैं एक सुरक्षा चेतावनी जोड़ना चाहूंगा । यह सिस्टम पर सभी USERS के लिए पैकेट कैप्चर करने की अनुमति देगा । यह एक अस्थायी समाधान हो सकता है, लेकिन स्थायी समाधान के रूप में वांछित नहीं है।

मैंने कैप्चर विशेषाधिकार के बारे में वायरशर्क पृष्ठ से निर्देशों का पालन किया:

https://wiki.wireshark.org/CaptureSetup/CapturePrivileges

वे सलाह देते हैं एक विशिष्ट समूह या उपयोगकर्ता के लिए dumpcap निष्पादन को प्रतिबंधित।

मैंने उन निर्देशों का पालन किया (अनुकूलन के साथ):

यदि आपके कर्नेल और फ़ाइल सिस्टम फ़ाइल क्षमताओं का समर्थन करते हैं, तो डंपकैप के लिए नेटवर्क विशेषाधिकार सेट करना

  • सुनिश्चित करें कि आपने आवश्यक उपकरण स्थापित किए हैं, जैसे सेटकैप कमांड।

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

(नोट: बदलें / usr / bin के साथ / usr / sbin मामले में आप एक त्रुटि है कि इंगित करता है कि डंपक में नहीं है / usr / बिन)

  • Wireshark को नॉन-रूट के रूप में शुरू करें और सुनिश्चित करें कि आप इंटरफेस की सूची देखें और लाइव कैप्चर कर सकते हैं। ( मुझे यह निर्देश प्राप्त था। मेरे लिए काम नहीं किया )

यदि आपके कर्नेल और फ़ाइल सिस्टम फ़ाइल क्षमताओं का समर्थन नहीं करते हैं तो डंपकैप के लिए नेटवर्क विशेषाधिकार सेट करना

इस मामले में, आपको रूट करने के लिए डंपक सेट-यूआईडी बनाना होगा।

sudo chown root /usr/bin/dumpcap 

(नोट: बदलें / usr / bin के साथ / usr / sbin इस कमांड में और अगले कमांड में आपको एक त्रुटि मिलती है जो इंगित करती है कि डंपकैप / usr / sbin में नहीं है)

sudo chmod u+s /usr/bin/dumpcap

कैप्चर की अनुमति को केवल एक समूह तक सीमित करना

डंपक के नेटवर्क विशेषाधिकार सेट करने के बाद:

  • समूह में "वायरशार्क" उपयोगकर्ता बनाएं।

    sudo chgrp wireshark /usr/sbin/dumpcap

    sudo chmod o-rx /usr/sbin/dumpcap

  • सुनिश्चित करें कि Wireshark केवल रूट से और "वायरशार्क" समूह में एक उपयोगकर्ता से काम करता है ( मैं इस कदम को केवल END में शामिल करता हूं - कभी नहीं छोड़ता )

और अंत में, दो और कदम:

sudo dpkg-reconfigure wireshark-common

'हाँ' चुनें।

उपयोगकर्ता के लिए सभी इंटरफेस (ssh सहित जो मेरी सबसे बड़ी गलती थी) लॉग इन करें और फिर से लॉग इन करें।

उम्मीद है, आपको वायरशर्क शुरू करना चाहिए और एक नियमित उपयोगकर्ता के रूप में सभी इंटरफेस देखना चाहिए (sudo का उपयोग नहीं करना)

wireshark &

और अगर आप फ़ाइल अनुमतियों की जाँच करते हैं

ls -la /usr/bin/dumpcap

यह केवल USER और GROUP को निष्पादित करने की अनुमति देता है

-rxxr-xr-- 1 रूट वायरशार्क

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.