एक उपयोगिता जो Windows नेटवर्क पैकेट कैप्चर वाली .etl फ़ाइल को .pcapng प्रारूप में बदलती है।
यह उपकरण आपको Wireshark के साथ ndiscap और pktmon पैकेट कैप्चर देखने में सक्षम बनाता है। दूसरी लोकप्रिय पैकेट कैप्चर विधि (WinPcap, जो Wireshark के पुराने संस्करणों में शामिल थी) के साथ प्रदर्शन समस्याओं के कारण, इन अंतर्निहित उपकरणों को प्राथमिकता दी जानी चाहिए।
विंडोज में पैकेट कैप्चर करने में सक्षम कई अंतर्निहित घटक हैं:
pktmon start --capture
<repro>
pktmon stop
netsh trace start capture=yes report=disabled
<repro>
netsh trace stop
इन उपकरणों द्वारा उत्पन्न फ़ाइलें etl फ़ाइलें हैं, जिन्हें Microsoft Message Analyzer जैसे ETW-केंद्रित उपकरणों द्वारा खोला जा सकता है, लेकिन Wireshark द्वारा नहीं खोला जा सकता, जो कई इंजीनियरों के लिए पसंदीदा उपकरण है। Etl2pcapng.exe etl फ़ाइल को Wireshark के साथ खोलने के लिए, या Python और Rust जैसी भाषाओं के साथ विश्लेषण के लिए, pcapng फ़ाइल में परिवर्तित कर सकता है जिनमें pcapng लाइब्रेरी उपलब्ध हैं।
नोट: pktmon में एक अंतर्निहित etl2pcap रूपांतरण उपयोगिता ("pktmon etl2pcap <filename>") है जो बुनियादी pcapng फ़ाइलें उत्पन्न करने में भी सक्षम है। etl2pcapng निम्नलिखित परिवर्धन के साथ अंतर्निहित उपयोगिता के समान रूपांतरण क्षमता प्रदान करता है:
प्रीबिल्ट बाइनरी रिलीज़ अनुभाग में उपलब्ध हैं: https://github.com/microsoft/etl2pcapng/releases
उपकरण को इस प्रकार चलाएँ:
etl2pcapng.exe in.etl out.pcapng
फ़ाइल को कनवर्ट करने के बाद, उपकरण एक तालिका प्रिंट करता है जो विंडोज इंटरफेस इंडेक्स और pcapng इंटरफेस ID के बीच मैपिंग दिखाती है।
आउटपुट pcapng फ़ाइल में प्रत्येक पैकेट पर एक टिप्पणी होगी जो पैकेट लॉग होने पर वर्तमान प्रक्रिया के PID को इंगित करती है। चेतावनी: यह अक्सर उस प्रक्रिया के वास्तविक PID के समान नहीं होता जिसके कारण पैकेट भेजा गया या जिसे पैकेट वितरित किया गया, क्योंकि पैकेट कैप्चर प्रदाता अक्सर DPC (जो एक मनमानी प्रक्रिया में चलता है) में चलता है। उपयोगकर्ता को PID जानकारी का उपयोग करते समय इसे ध्यान में रखना चाहिए।
src निर्देशिका में एक कमांड प्रॉम्प्ट में निम्नलिखित चलाएँ। कम से कम Cmake 3.15 आवश्यक है।
mkdir build
cd build
cmake ..
cmake --build . --config Release
बाइनरी build/Release/etl2pcapng.exe पर होगी।
1.12.0 - pktmon द्वारा उत्पन्न etl फ़ाइलों और अन्य प्रदाता घटनाओं को systemd journal export blocks के रूप में लिखने का समर्थन जोड़ा गया।
1.11.0 - आउटपुट फ़ाइल नाम को छोड़ा जा सकता है (जैसे "etl2pcapng.exe foo.etl"। आउटपुट फ़ाइल नाम "foo.pcapng" हो जाता है)।
1.10.0 - 10 गुना तेज़।
1.9.0 - Microsoft-Windows-Ras-NdisWanPacketCapture (VPN/रिमोट एक्सेस) ईवेंट डिकोडिंग का समर्थन जोड़ना + पैकेट टिप्पणियों में ThreadID (TID) जोड़ना
1.8.0 - VMSwitch पैकेट के लिए पैकेट टिप्पणियों में RSS हैश मान जोड़ना।
1.7.0 - पैकेट टिप्पणियों में VMSwitch पैकेट जानकारी शामिल करना।
1.6.0 - ControlFlowGuard सक्षम करें।
1.5.0 - इंटरफ़ेस विवरण ब्लॉक में iftype और ifindex लिखें और C रनटाइम को स्थिर रूप से लिंक करें ताकि vcredist स्थापित करने की आवश्यकता न हो।
1.4.1 - दूषित पैकेट लिखने वाले बग को ठीक किया गया।
1.4.0 - यदि कैप्चर किए गए टुकड़े छोटे कर दिए गए थे तो स्वचालित रूप से मूल टुकड़े की लंबाई का अनुमान लगाएं।
1.3.0 - प्रत्येक पैकेट में प्रक्रिया आईडी (PID) वाली एक टिप्पणी जोड़ें।
1.2.0 - प्रत्येक पैकेट की दिशा जानकारी लिखें (epb_flags)।
1.1.0 - Win8 और पुराने ट्रेस में पाए जाने वाले मल्टी-ईवेंट पैकेट के लिए समर्थन जोड़ा गया।
यह परियोजना योगदान और सुझावों का स्वागत करती है। अधिकांश योगदानों के लिए आपको एक योगदानकर्ता लाइसेंस समझौते (CLA) से सहमत होना आवश्यक है जो यह घोषित करता है कि आपके पास आपके योगदान का उपयोग करने का अधिकार है, और वास्तव में हमें प्रदान करते हैं। विवरण के लिए, https://cla.opensource.microsoft.com पर जाएं।
जब आप एक पुल अनुरोध सबमिट करते हैं, तो एक CLA बॉट स्वचालित रूप से यह निर्धारित करेगा कि क्या आपको CLA प्रदान करने की आवश्यकता है और PR को उचित रूप से सजाएगा (जैसे, स्थिति जांच, टिप्पणी)। बस बॉट द्वारा दिए गए निर्देशों का पालन करें। आपको हमारे CLA का उपयोग करने वाले सभी रिपो में केवल एक बार ऐसा करना होगा।
इस परियोजना ने Microsoft ओपन सोर्स आचार संहिता को अपनाया है। अधिक जानकारी के लिए आचार संहिता FAQ देखें या किसी अतिरिक्त प्रश्न या टिप्पणी के लिए [email protected] से संपर्क करें।