প্যাকেট মনিটর (PktMon.exe) হল একটি বিল্ট-ইন নেটওয়ার্ক ট্রাফিক অ্যানালাইজার (স্নিফার) যা উইন্ডোজ ১০ ১৮০৯ এবং উইন্ডোজ সার্ভার ২০১৯-এ চালু করা হয়েছিল। উইন্ডোজ ১০ মে ২০২০ আপডেট (ভার্সন ২০০৪)-এ প্যাকেট মনিটরের অনেক নতুন ফিচার যোগ করা হয়েছে (রিয়েল-টাইম প্যাকেট ক্যাপচার এখন সাপোর্ট করা হয়, Wireshark-এ সহজে ইম্পোর্ট করার জন্য PCAPNG ফরম্যাট সাপোর্ট)। এইভাবে উইন্ডোজে tcpdump-এর মতো নেটওয়ার্ক প্যাকেট ক্যাপচার করার ক্ষমতা এসেছে, যা সিস্টেম বা নেটওয়ার্ক অ্যাডমিনরা নেটওয়ার্ক অপারেশন এবং পারফরম্যান্স ডায়াগনোজ করতে ব্যবহার করতে পারেন।
প্যাকেট মনিটর আপনাকে কম্পিউটারের নেটওয়ার্ক ইন্টারফেস থেকে गुजরো সকল নেটওয়ার্ক অ্যাক্টিভিটি প্যাকেট লেভেলে পেতে দেয়।
এর আগে উইন্ডোজে নেটওয়ার্ক ট্রাফিক ক্যাপচার এবং প্যাকেট পরিদর্শনের জন্য netsh trace কমান্ড ব্যবহার করা হত।
কমান্ড প্রম্পটে টুলটি চালিয়ে pktmon.exe অপশন এবং সিনট্যাক্সের সাহায্য পেতে পারেন।

প্যাকেট মনিটরের বেসিক কমান্ডগুলো:
- filter — প্যাকেট ফিল্টার ম্যানেজ করুন
- comp – রেজিস্টার্ড কম্পোনেন্ট ম্যানেজ করুন
- reset — প্যাকেট কাউন্টার রিসেট করুন
- start – প্যাকেট মনিটরিং শুরু করুন
- stop — প্যাকেট মনিটরিং বন্ধ করুন
- format – ট্রাফিক লগ ফাইলকে টেক্সট ফরম্যাটে কনভার্ট করুন
- pcapng – pcapng ফরম্যাটে কনভার্ট করুন
- unload – PktMon ড্রাইভার আনলোড করুন
সাবকমান্ডের সাহায্য পেতে এর নাম লিখুন:
pktmon filter

চলুন একটি উইন্ডোজ ১০ ডিভাইসে চলমান কিছু সার্ভিসের ট্রাফিক ডাম্প সংগ্রহ করি। মনে করুন, আমরা FTP (TCP পোর্ট ২০, ২১) এবং HTTP (পোর্ট ৮০ এবং ৪৪৩) ট্রাফিক বিশ্লেষণ করতে চাই।
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 সব নেটওয়ার্ক ইন্টারফেস থেকে ডেটা সংগ্রহ করে, কিন্তু প্রতিটি প্যাকেটের প্রথম ১২৮ বাইট লগ হয়। নির্দিষ্ট কম্পিউটার ইন্টারফেসে পুরো প্যাকেট ক্যাপচার করতে নিচের কমান্ড ব্যবহার করুন:
pktmon start --etw -p 0 -c 9
এখানে c ভ্যালু হল নেটওয়ার্ক ইন্টারফেসের আইডি, যা নিচের কমান্ড দিয়ে পেতে পারেন:
pktmon comp list

প্যাকেট ফিল্টার আপনার সেট করা ফিল্টার অনুযায়ী সকল ট্রাফিক C:\Windows\System32\PktMon.etl-এ লিখবে (ম্যাক্সিমাম ফাইল সাইজ ৫১২ MB)। ডাম্প রেকর্ডিং বন্ধ করতে:
pktmon stop
উইন্ডোজ রিবুট হলে নেটওয়ার্ক প্যাকেট সংগ্রহ স্বয়ংক্রিয়ভাবে বন্ধ হয়।
তারপর ট্রাফিক ডাম্প ফাইল 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)।
আপনি উইন্ডোজ অ্যাডমিন সেন্টারে এক্সটেনশন ব্যবহার করে PktMon ব্যবহার করতে পারেন। নেটওয়ার্ক সমস্যা ডায়াগনোজ করার সময় কম্পিউটার বা সার্ভার থেকে সংগৃহীত ডেটা আরও শক্তিশালী নেটওয়ার্ক ট্রাফিক বিশ্লেষণ সফটওয়্যারের মতো Microsoft Network Monitor বা Wireshark-এ ব্যবহার করা যেতে পারে।