इस गाइड में, Wireshark के लिए extcap को कॉन्फ़िगर करने का तरीका बताया गया है, ताकि Thread नेटवर्क से पैकेट को स्निफ किया जा सके.
extcap के बिना पैकेट स्निफ़िंग के लिए Pyspinel का इस्तेमाल करने के लिए, Pyspinel की मदद से पैकेट स्निफ़िंग लेख पढ़ें.
स्निफ़र एनवायरमेंट सेट अप करना
शुरू करने से पहले, यह तरीका अपनाएं:
- पैकेट स्निफ़िंग से जुड़ी ज़रूरी शर्तें देखें.
- Wireshark इंस्टॉल और कॉन्फ़िगर करें.
- extcap की मदद से Pyspinel और डिपेंडेंसी इंस्टॉल करें.
पुष्टि करने का तरीका
इस गाइड की पुष्टि, Zolertia Firefly (Texas Instruments CC2538 SoC) के साथ इन होस्ट सिस्टम पर की गई है:
- Debian 4.19.37 — Wireshark 3.0.4
- macOS Mojave 10.14.6 — Wireshark 3.0.5
- 64-बिट Windows 10 का वर्शन 17134 — Wireshark 3.0.6
स्निफ़र को बिल्ड और फ़्लैश करना
प्लैटफ़ॉर्म के हिसाब से, बिल्ड और फ़्लैश करने के निर्देश अलग-अलग होते हैं.
CC2538 को बनाने और फ़्लैश करने के निर्देशों के लिए, GitHub पर CC2538 के उदाहरण का रीडमाइड देखें.
बिल्ड करने के सामान्य निर्देशों के लिए, OpenThread को कैसे बिल्ड करें लेख पढ़ें.
स्निफ़र का इस्तेमाल करना
Wireshark को पहली बार लॉन्च करने पर, Wireshark कैप्चर स्क्रीन दिखती है. इसमें, OpenThread स्निफ़र से कनेक्ट किए गए हार्डवेयर इंटरफ़ेस की सूची होनी चाहिए.
एक ही इंटरफ़ेस से कैप्चर करना
अगर इंटरफ़ेस का इस्तेमाल पहली बार किया जा रहा है, तो इंटरफ़ेस के बाईं ओर मौजूद विकल्प बटन पर क्लिक करें:
- चैनल को अपनी पसंद की वैल्यू पर सेट करें.
- IEEE 802.15.4 TAP को चुनकर पक्का करें कि चैनल की जानकारी, pcap आउटपुट में शामिल हो और उसे Wireshark GUI में दिखाया जा सके.
- कैप्चर शुरू होने पर पैरामीटर सेव करें को चुनें, ताकि यह पक्का किया जा सके कि कैप्चर शुरू होने के बाद ये पैरामीटर सेव हो जाएं. इससे, इंटरफ़ेस का अगली बार इस्तेमाल करते समय, इन्हें फिर से सेट करने की ज़रूरत नहीं पड़ेगी. हालांकि, चैनल बदलने पर ऐसा करना पड़ सकता है.
- शुरू करें पर क्लिक करें.
अगर आपके पैरामीटर पहले से सेव हैं, तो हार्डवेयर इंटरफ़ेस चुनकर और सबसे ऊपर बाईं ओर मौजूद Wireshark आइकॉन पर क्लिक करके, स्निफ़िंग शुरू करें.
एक से ज़्यादा इंटरफ़ेस से कैप्चर करना
कैप्चर स्क्रीन में दिए गए सभी हार्डवेयर इंटरफ़ेस चुनें और सबसे ऊपर बाईं ओर मौजूद Wireshark आइकॉन पर क्लिक करें.
एक से ज़्यादा इंटरफ़ेस से कैप्चर करते समय, अलग-अलग स्निफ़र की पहचान करने के लिए इन फ़ील्ड का इस्तेमाल करें:
- इंटरफ़ेस आईडी (frame.interface_id) — इंटरफ़ेस आइडेंटिफ़ायर, जिसका इस्तेमाल Wireshark, कैप्चर इंटरफ़ेस की पहचान करने के लिए करता है
- इंटरफ़ेस का नाम (frame.interface_name) — इंटरफ़ेस का नाम, जिसका इस्तेमाल Wireshark करता है, ताकि कैप्चर इंटरफ़ेस की पहचान की जा सके
- चैनल (wpan-tap.ch_num) — IEEE 802.15.4 कैप्चर चैनल (सीमा: 11-26)
समस्या का हल
OpenThread sniffer को Wireshark इंटरफ़ेस के तौर पर नहीं दिखाया गया है
- अगर आपने एक से ज़्यादा Python इंटरप्रिटर इंस्टॉल किए हैं, तो पक्का करें कि extcap स्क्रिप्ट में Python 3 इंटरप्रिटर का इस्तेमाल किया गया हो. Pyspinel, Python 2 के साथ काम नहीं करता.
- देखें कि हार्डवेयर को यूएसबी पर एनोटेट किया गया है या नहीं और ड्राइवर लोड किए गए हैं या नहीं.
- देखें कि हार्डवेयर में सही फ़र्मवेयर (एनसीपी या आरसीपी) फ़्लैश किया गया हो.
- पुष्टि करें कि extcap पाथ में मौजूद Python स्क्रिप्ट को चलाया जा सकता है.
- OS X और Linux के लिए:
- पुष्टि करें कि
extcap_ot.py
फ़ाइल के लिए, चलाने की अनुमति मौजूद है:ls -l extcap_ot.py
- अगर 'कार्रवाई करें (x)' अनुमति मौजूद नहीं है, तो अनुमतियों में बदलाव करें:
chmod +x extcap_ot.py
- पुष्टि करें कि इंटरफ़ेस सूची में शामिल है:
extcap_ot.py --extcap-interfaces
- पुष्टि करें कि
- Windows के लिए:
- पुष्टि करें कि इंटरफ़ेस सूची में शामिल है:
extcap_ot.bat --extcap-interfaces
- अगर यह Python की गड़बड़ी के साथ बंद हो जाता है, तो पुष्टि करें कि Python का वर्शन 3.x है:
py -3 --version
- पुष्टि करें कि इंटरफ़ेस सूची में शामिल है:
- OS X और Linux के लिए:
Wireshark सिर्फ़ रूट उपयोगकर्ता को पैकेट कैप्चर करने की अनुमति देता है
Ubuntu पर Wireshark इंस्टॉल करने के दौरान, उपयोगकर्ता को इनमें से कोई एक विकल्प चुनने के लिए कहा जाएगा:
wireshark
उपयोगकर्ता ग्रुप बनाएं और उस ग्रुप के सभी सदस्यों को पैकेट कैप्चर करने की अनुमति दें.- सिर्फ़
root
उपयोगकर्ता को पैकेट कैप्चर करने की अनुमति दें.
root
उपयोगकर्ता के तौर पर Wireshark का इस्तेमाल करने का सुझाव नहीं दिया जाता. अगर आपने यह विकल्प चुना है, तो सेटिंग बदलें:
sudo dpkg-reconfigure wireshark-common
अगर Wireshark को wireshark
ग्रुप के सदस्यों के लिए कैप्चर करने की सुविधा पर कॉन्फ़िगर किया गया था, तो आपको ग्रुप में सही उपयोगकर्ता जोड़ना पड़ सकता है:
sudo usermod -a -G wireshark user
dialout
ग्रुप में सही उपयोगकर्ता को भी जोड़ें:
sudo usermod -a -G dialout user
उपयोगकर्ता ग्रुप की नई सेटिंग लागू करने के लिए, Wireshark को बंद करके फिर से चालू करें.
Windows पर कई यूएसबी इंटरफ़ेस पर कैप्चर करते समय, Wireshark फ़ॉर्मैट से जुड़ी गड़बड़ी
Wireshark के कुछ पुराने वर्शन में, यह समस्या पहले से मौजूद है. पक्का करें कि आपने Wireshark 3.0.6 या उसके बाद का वर्शन इस्तेमाल किया हो.