การตรวจสอบแพ็คเก็ต (PktMon.exe
) เป็นตัววิเคราะห์การรับส่งข้อมูลเครือข่ายในตัว (ดมกลิ่น) ที่เปิดตัวใน Windows 10 1809 และ Windows Server 2019 ในการอัปเดต Windows 10 พฤษภาคม 2020 (เวอร์ชัน 2004) คุณลักษณะใหม่มากมายของ Packet Monitor ถูกนำมาใช้ (แพ็กเก็ตแบบเรียลไทม์ รองรับการจับภาพแล้ว รูปแบบ PCAPNG รองรับการนำเข้าไปยังตัววิเคราะห์ทราฟฟิก Wireshark ได้อย่างง่ายดาย) ดังนั้น Windows จึงมีคุณสมบัติในการดักจับแพ็กเก็ตเครือข่ายที่คล้ายกับ tcpdump
และผู้ดูแลระบบหรือผู้ดูแลระบบเครือข่ายสามารถใช้เพื่อวินิจฉัยการทำงานและประสิทธิภาพของเครือข่ายได้
Packet Monitor ช่วยให้คุณรับกิจกรรมเครือข่ายทั้งหมดที่ส่งผ่านอินเทอร์เฟซเครือข่ายของคอมพิวเตอร์ในระดับแพ็กเก็ตเครือข่าย
ก่อนหน้านี้netsh trace
คำสั่งใช้เพื่อดักจับการรับส่งข้อมูลเครือข่ายและตรวจสอบแพ็กเก็ตใน Windows
คุณสามารถขอความช่วยเหลือได้ที่ pktmon.exe
ตัวเลือกและไวยากรณ์โดยการเรียกใช้เครื่องมือในพรอมต์คำสั่ง
คำสั่งพื้นฐานของ Packet Monitor มีดังนี้:
- ตัวกรอง —จัดการตัวกรองแพ็กเก็ต
- คอม –จัดการส่วนประกอบที่ลงทะเบียน
- รีเซ็ต —รีเซ็ตตัวนับแพ็คเก็ต
- เริ่มต้น –เริ่มการตรวจสอบแพ็กเก็ต
- หยุด —หยุดการตรวจสอบแพ็กเก็ต
- รูปแบบ –แปลงไฟล์บันทึกการจราจรให้อยู่ในรูปแบบข้อความ
- 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
โดยที่ ค ค่าคือ 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) ที่ติดตั้งบนคอมพิวเตอร์ของผู้ดูแลระบบได้
หากต้องการลบตัวกรอง Packet Monitor ทั้งหมดที่คุณสร้างขึ้น ให้รันคำสั่งนี้:
pktmon filter remove
คุณสามารถใช้ PktMon เพื่อติดตามการรับส่งข้อมูลเครือข่ายแบบเรียลไทม์ ในการทำเช่นนั้น ใช้ -l real-time
พารามิเตอร์. ในโหมดนี้ แพ็กเก็ตที่บันทึกไว้จะแสดงในคอนโซลและจะไม่ถูกเขียนไปยังล็อกไฟล์ในเบื้องหลัง
pktmon start --etw -p 0 -l real-time
หากต้องการหยุดการเก็บรวบรวมข้อมูล กด
Ctrl+C
. หากคุณเห็นการสูญหายของแพ็กเก็ต (ลดลง) ในอินเทอร์เฟซเครือข่ายของคุณ PacketMon สามารถแสดงสาเหตุ (เช่น MTU หรือ VLAN ที่ไม่ถูกต้อง)
คุณยังสามารถใช้ PktMon ใน Windows Admin Center โดยใช้ส่วนขยาย ข้อมูลที่คุณรวบรวมจากคอมพิวเตอร์หรือเซิร์ฟเวอร์เมื่อวินิจฉัยปัญหาเครือข่ายอาจถูกใช้ในซอฟต์แวร์ที่มีประสิทธิภาพมากขึ้นในการวิเคราะห์ปริมาณการใช้เครือข่าย เช่น Microsoft Network Monitor หรือ Wireshark