पैकेट मॉनिटर (PktMon.exe) एक अंतर्निहित नेटवर्क ट्रैफिक एनालाइज़र (स्निफर) है जिसे Windows 10 1809 और Windows Server 2019 में पेश किया गया था। Windows 10 मई 2020 अपडेट (संस्करण 2004) में, पैकेट मॉनिटर की कई नई सुविधाएं लागू की गईं (रीयल-टाइम पैकेट कैप्चर अब समर्थित है, Wireshark ट्रैफिक एनालाइज़र में आसानी से आयात करने के लिए PCAPNG फॉर्मेट समर्थन)। इस प्रकार, Windows को tcpdump के समान नेटवर्क पैकेट कैप्चर करने की सुविधा मिली, और सिस्टम या नेटवर्क एडमिनिस्ट्रेटर नेटवर्क ऑपरेशन और परफॉरमेंस का निदान करने के लिए इसका उपयोग कर सकते हैं।
पैकेट मॉनिटर आपको कंप्यूटर के नेटवर्क इंटरफेस से गुजरने वाली सभी नेटवर्क गतिविधि को नेटवर्क पैकेट लेवल पर प्राप्त करने की अनुमति देता है।
पहले, Windows में नेटवर्क ट्रैफिक कैप्चर करने और पैकेट्स का निरीक्षण करने के लिए netsh trace कमांड का उपयोग किया जाता था।
आप कमांड प्रॉम्प्ट में टूल चलाकर pktmon.exe विकल्पों और सिंटैक्स पर मदद प्राप्त कर सकते हैं।

यहां बेसिक पैकेट मॉनिटर कमांड हैं:
- filter — पैकेट फिल्टर प्रबंधित करें
- comp – रजिस्टर्ड कंपोनेंट्स प्रबंधित करें
- reset — पैकेट काउंटर्स रीसेट करें
- start – पैकेट मॉनिटरिंग शुरू करें
- stop — पैकेट मॉनिटरिंग बंद करें
- format – ट्रैफिक लॉग फ़ाइल को टेक्स्ट फॉर्मेट में कन्वर्ट करें
- pcapng – pcapng फॉर्मेट में कन्वर्ट करें
- unload – PktMon ड्राइवर अनलोड करें
सबकमांड पर मदद प्राप्त करने के लिए, उसका नाम दर्ज करें:
pktmon filter

आइए Windows 10 डिवाइस पर चल रही कुछ सेवाओं पर आने वाले ट्रैफिक का डंप एकत्र करने का प्रयास करें। मान लीजिए, हम FTP (TCP पोर्ट 20, 21) और HTTP (पोर्ट 80 और 443) ट्रैफिक का विश्लेषण करना चाहते हैं।
TCP पोर्ट्स के लिए एक पैकेट फिल्टर बनाएं (आप UDP और ICMP ट्रैफिक भी ट्रैक कर सकते हैं):
pktmon filter add -p 20 21
pktmon filter add HTTPFilter –p 80 443
सक्रिय फिल्टर्स की सूची प्रदर्शित करें:
pktmon filter list

बैकग्राउंड ट्रैफिक कैप्चर चलाने के लिए, यह कमांड चलाएं:
pktmon start –etw
Log file name: C:\Windows\System32\PktMon.etl Logging mode: Circular Maximum file size: 512 MB Active measurement started.

इस मोड में, pktmon सभी नेटवर्क इंटरफेस से डेटा एकत्र करता है, लेकिन पैकेट के केवल पहले 128 बाइट्स लॉग किए जाते हैं। विशिष्ट कंप्यूटर इंटरफेस पर पैकेट को पूरी तरह से कैप्चर करने के लिए, निम्न कमांड का उपयोग किया जाता है:
pktmon start --etw -p 0 -c 9
जहां c मान नेटवर्क इंटरफेस की ID है जिसे आप इस कमांड का उपयोग करके प्राप्त कर सकते हैं:
pktmon comp list

पैकेट फिल्टर आपके द्वारा सेट किए गए फिल्टर्स से मेल खाने वाले सभी ट्रैफिक को C:\Windows\System32\PktMon.etl में लिखेगा (इसका अधिकतम फ़ाइल आकार 512 MB है)। डंप रिकॉर्डिंग रोकने के लिए, निम्न कमांड चलाएं:
pktmon stop
Windows रीबूट के बाद भी नेटवर्क पैकेट एकत्र होना बंद हो जाते हैं।
फिर आप ट्रैफिक डंप फ़ाइल को ETL से प्लेन टेक्स्ट फॉर्मेट में कन्वर्ट कर सकते हैं:
pktmon format PktMon.etl -o c:\ps\packetsniffer.txt
या
pktmon PCAPNG PktMon.etl -o c:\ps\packetsniffer.pcapng
आप टेक्स्ट फॉर्मेट में ट्रैफिक डंप का विश्लेषण कर सकते हैं या ETL फ़ाइल को Microsoft Network Monitor या WireShark (PCAPNG फॉर्मेट में) में आयात कर सकते हैं जो एडमिनिस्ट्रेटर के कंप्यूटर पर इंस्टॉल है।

आपके द्वारा बनाए गए सभी पैकेट मॉनिटर फिल्टर्स को हटाने के लिए, यह कमांड चलाएं:
pktmon filter remove
आप PktMon का उपयोग रीयल-टाइम में नेटवर्क ट्रैफिक ट्रैक करने के लिए कर सकते हैं। ऐसा करने के लिए, -l real-time पैरामीटर का उपयोग करें। इस मोड में, कैप्चर किए गए पैकेट कंसोल में प्रदर्शित होते हैं और बैकग्राउंड में लॉग फ़ाइल में नहीं लिखे जाते।
pktmon start --etw -p 0 -l real-time

ट्रैफिक संग्रह रोकने के लिए, Ctrl+C दबाएं।
यदि आपको अपने नेटवर्क इंटरफेस में पैकेट लॉस (ड्रॉप) दिखाई देता है, तो PacketMon आपको कारण दिखा सकता है (उदाहरण के लिए, गलत MTU या VLAN)।
आप Windows Admin Center में एक्सटेंशन का उपयोग करके PktMon का भी उपयोग कर सकते हैं। नेटवर्क समस्याओं का निदान करते समय कंप्यूटर या सर्वर से आपके द्वारा एकत्र किए गए डेटा का उपयोग Microsoft Network Monitor या Wireshark जैसे नेटवर्क ट्रैफिक का विश्लेषण करने के लिए अधिक शक्तिशाली सॉफ़्टवेयर में किया जा सकता है।