Packet Monitor (PktMon.exe) เป็น Built-in Network Traffic Analyzer (Sniffer) ที่เพิ่มเข้ามาใน Windows 10 1809 และ Windows Server 2019 ใน Windows 10 May 2020 Update (Version 2004) เพิ่ม Features ใหม่มากมายของ Packet Monitor (Real-time Packet Capture รองรับแล้ว, PCAPNG Format Support เพื่อ Import เข้า Wireshark Traffic Analyzer ได้ง่าย) ดังนั้น Windows มี Feature Capture Network Packets คล้าย tcpdump System/Network Administrators สามารถใช้ Diagnose Network Operation และ Performance ได้
Packet Monitor อนุญาตให้ได้ Network Activity ทั้งหมดผ่าน Network Interface ของคอมพิวเตอร์ระดับ Network Packet
ก่อนหน้านี้ใช้คำสั่ง netsh trace Capture Network Traffic และ Inspect Packets ใน Windows
ดู Help ของ pktmon.exe Options และ Syntax ได้โดยรัน Tool ใน Command Prompt
คำสั่ง Packet Monitor พื้นฐาน
- filter — จัดการ Packet Filters
- comp – จัดการ Registered Components
- reset — Reset Packet Counters
- start – เริ่ม Packet Monitoring
- stop — หยุด Packet Monitoring
- format – แปลง Traffic Log File เป็น Text Format
- pcapng – แปลงเป็น PCAPNG Format
- unload – Unload PktMon Driver
ดู Help Subcommand ได้โดยพิมพ์ชื่อ: pktmon filter
ลอง Collect Traffic Dump ของ Services ที่รันอยู่บน Windows 10 Device สมมติเราต้องการ Analyze FTP (TCP Ports 20, 21) และ HTTP (Ports 80, 443) Traffic
สร้าง Packet Filter สำหรับ TCP Ports (Track UDP และ ICMP ได้ด้วย):
pktmon filter add -p 20 21
pktmon filter add HTTPFilter –p 80 443
แสดง Active Filters: pktmon filter list
รัน Background Traffic Capture: pktmon start –etw
Log file name: C:\Windows\System32\PktMon.etl Logging mode: Circular Maximum file size: 512 MB Active measurement started.
ในโหมดนี้ pktmon Collect Data จาก Network Interfaces ทั้งหมด แต่ Log เพียง 128 Bytes แรกของ Packet เพื่อ Capture Packets ทั้งหมดบน Interface เฉพาะ ใช้คำสั่ง:
pktmon start --etw -p 0 -c 9
ที่ c Value คือ ID ของ Network Interface ได้จากคำสั่ง: pktmon comp list
Packet Filter จะเขียน Traffic ที่ Match Filters ไปที่ C:\Windows\System32\PktMon.etl (Max File Size 512 MB) หยุด Recording: pktmon stop (หรือหยุดอัตโนมัติหลัง Windows Reboot)
แปลง Traffic Dump File จาก ETL เป็น Plain Text: pktmon format PktMon.etl -o c:\ps\packetsniffer.txt
หรือ PCAPNG: pktmon PCAPNG PktMon.etl -o c:\ps\packetsniffer.pcapng
Analyze Traffic Dump ใน Text Format หรือ Import ETL File เข้า Microsoft Network Monitor หรือ WireShark (ใน PCAPNG Format) บนคอมพิวเตอร์ Admin
ลบ Packet Monitor Filters ทั้งหมด: pktmon filter remove
ใช้ PktMon Track Network Traffic Real-time ด้วย Parameter -l real-time ในโหมดนี้ Captured Packets แสดงใน Console ไม่เขียน Log File Background
pktmon start --etw -p 0 -l real-time
หยุด Collection กด Ctrl+C
หากเห็น Packet Loss (Drop) ใน Network Interface PacketMon แสดง Reason (เช่น MTU ผิด หรือ VLAN)
ยังใช้ PktMon ใน Windows Admin Center ผ่าน Extensions ได้ Data ที่ Collect จาก Computers/Servers ตอน Diagnose Network Issues ใช้ใน Software Analyze Network Traffic ที่ทรงพลังกว่า เช่น Microsoft Network Monitor หรือ Wireshark