लिनक्स पर USB ट्रैफ़िक को डंप करने के लिए, आपको usbmon
मॉड्यूल की आवश्यकता होती है , जो लिनक्स 2.6.11 के बाद से मौजूद है । /usr/src/linux/Documentation/usb/usbmon.txt
लिनक्स सोर्स ट्री में उस मॉड्यूल की जानकारी उपलब्ध है । आपके द्वारा उपयोग किए जा रहे वितरण और उस वितरण के संस्करण के आधार पर, उस मॉड्यूल को कर्नेल में बनाया जा सकता है, या लोड करने योग्य मॉड्यूल हो सकता है; यदि यह एक लोड करने योग्य मॉड्यूल है, तो आपके द्वारा उपयोग किए जा रहे वितरण और उस वितरण के संस्करण के आधार पर, यह आपके लिए लोड हो सकता है या नहीं भी हो सकता है। यदि यह एक लोड करने योग्य मॉड्यूल है, और लोड नहीं किया गया है, तो आपको इसे कमांड के साथ लोड करना होगा
modprobe usbmon
जिसे रूट के रूप में चलाया जाना चाहिए।
1.0 से पहले libpcap रिलीज़ में USB समर्थन शामिल नहीं है, इसलिए आपको कम से कम libpcap 1.0.0 की आवश्यकता होगी ।
2.6.21 से पहले कर्नेल के संस्करणों के लिए , उपलब्ध एकमात्र USB ट्रैफ़िक कैप्चर तंत्र एक टेक्स्ट-आधारित तंत्र है जो प्रत्येक कच्चे USB ब्लॉक के लिए कैप्चर किए गए डेटा की कुल मात्रा को लगभग 30 बाइट्स तक सीमित करता है। कर्नेल को पैच किए बिना इसे बदलने का कोई तरीका नहीं है। यदि डीबगफ़ेट्स पहले से ही माउंट नहीं है /sys/kernel/debug
, तो सुनिश्चित करें कि यह रूट के रूप में निम्नलिखित कमांड जारी करके वहां माउंट किया गया है:
mount -t debugfs / /sys/kernel/debug
कर्नेल संस्करण 2.6.21 और बाद में , USB पैकेट को ट्रेस करने के लिए एक बाइनरी प्रोटोकॉल है जिसमें उस आकार की सीमा नहीं है। उस कर्नेल संस्करण के लिए, आपको libpcap 1.1.0 या नए की आवश्यकता होगी , क्योंकि libpcap 1.0.x USB समर्थन उपयोग करता है, लेकिन सही ढंग से हैंडल नहीं करता है, USB ट्रैफ़िक के लिए मेमोरी-मैप किया गया तंत्र, जो libpcap उपलब्ध होने पर उपयोग करेगा - यह नहीं हो सकता उपलब्ध नहीं है, इसलिए libpcap हमेशा इसका उपयोग करेगी।
में libpcap 1.0.x, यूएसबी पर कब्जा करने के लिए उपकरणों नाम usbn है, जहां n बस की संख्या है। 1.1.0 और बाद में libpcap में, उनका नाम usbmonn है।
आपको Wireshark 1.2.x या नए की भी आवश्यकता होगी ।