เมื่อปล่อยการอัปเดต Windows 10 ตุลาคม 2018 Microsoft ได้เพิ่มการดมกลิ่น แพ็คเก็ตเครือข่ายอย่างเงียบ ๆ ในรูปแบบของบรรทัดคำสั่งในตัวที่เรียกว่า Pktmon ให้กับWindows 10 หลังจากนั้น Microsoft ได้เพิ่มคุณสมบัติบางอย่างให้กับเครื่องมือนี้เพื่อให้ผู้ใช้ใช้งานได้ง่ายขึ้น
ตัวติดตามแพ็คเก็ตหรือตัววิเคราะห์เครือข่ายเป็นโปรแกรมที่ช่วยให้คุณสามารถตรวจสอบการรับส่งข้อมูลเครือข่ายที่ส่งผ่านอุปกรณ์เครือข่ายของคอมพิวเตอร์ของคุณลงไปจนถึงระดับแพ็คเก็ตแต่ละตัว
Pktmon: เครื่องมือตรวจสอบเครือข่ายในตัวของ Windows 10
เมื่อเปิดตัวครั้งแรก Pktmon รองรับเฉพาะรูปแบบ Event Trace Log (ETL) ซึ่งเป็นรูปแบบบันทึกที่เป็นกรรมสิทธิ์ซึ่งสร้างโดย Microsoft ต่อมา Microsoft ได้เพิ่ม การรองรับไฟล์บันทึก PCAPNGและการตรวจสอบแบบเรียลไทม์ ซึ่งเราจะเรียนรู้ในบทความนี้
หากต้องการใช้ Pktmon คุณต้องเปิด Command Prompt ด้วยสิทธิ์ผู้ดูแลระบบบน Windows 10 เนื่องจากโปรแกรมต้องการสิทธิ์ผู้ดูแลระบบ หากต้องการรับคำแนะนำเกี่ยวกับวิธีการใช้โปรแกรม ให้ป้อนpktmon helpในCommand Prompt
เอกสารวิธีใช้ pktmon
หากต้องการรับคำแนะนำความช่วยเหลือเพิ่มเติมเกี่ยวกับคำสั่งเฉพาะ ให้ป้อนคำสั่งpktmon [command name] help ตัวอย่างเช่น หากต้องการดูเอกสารเกี่ยวกับ คำสั่ง "comp"คุณจะต้องป้อน:
pktmon comp help
ใช้คำสั่งช่วยเหลือ
คุณสามารถใช้ความช่วยเหลือเพื่อดูคำแนะนำสำหรับคำสั่งย่อย เช่น:
pktmon comp list help
หากต้องการทำความคุ้นเคยกับ Pktmon การดูบทช่วยสอนเป็นวิธีที่มีประโยชน์มากที่สุด ดังนั้นคุณควรพยายามเรียนรู้ก่อนที่จะใช้เครื่องมือนี้จริงๆ
วิธีใช้เครื่องมือตรวจสอบเครือข่าย Pktmon
เมื่อเปรียบเทียบกับเครื่องมือตรวจสอบเครือข่ายที่มีอินเทอร์เฟซผู้ใช้แบบกราฟิก อาจใช้เวลานานกว่าในการทำความคุ้นเคยกับอินเทอร์เฟซบรรทัดคำสั่งของ Pktmon
ก่อนที่คุณจะสามารถมอนิเตอร์แพ็กเก็ตได้ คุณต้องสร้างตัวกรองโดยใช้ คำสั่ง pktmon filter addซึ่งระบุทราฟฟิกที่คุณต้องการมอนิเตอร์
ตัวอย่างเช่น คุณสามารถตรวจสอบการรับส่งข้อมูลเครือข่ายทั้งหมดบนเครือข่ายของคุณด้วยคำสั่ง:
pktmon filter add -i 192.168.1.0/24
…หรือตรวจสอบ การรับส่งข้อมูล DNSด้วย:
pktmon filter add -t UDP -p 53
หากคุณไม่ทราบว่าต้องทำอย่างไร คุณควรใช้ คำสั่ง pktmon filter add helpเพื่อเรียนรู้วิธีสร้างตัวกรอง
ในบทความนี้ ผู้เขียนได้สร้างตัวกรองเพื่อตรวจสอบการรับส่งข้อมูล DNS ตามที่อธิบายไว้ข้างต้น หากต้องการดูตัวกรองที่คุณสร้าง ให้ป้อนคำสั่ง:
pktmon filter list
ตัวกรองการตรวจสอบที่สร้างขึ้นจะแสดงอยู่ในรายการ
ในการเริ่มตรวจสอบการรับส่งข้อมูล DNS บนอินเทอร์เฟซเครือข่ายทั้งหมดและแสดงกิจกรรมแบบเรียลไทม์ คุณจะใช้คำสั่งต่อไปนี้:
pktmon start --etw -p 0 -l real-time
ตัวอย่างข้างต้นใช้ อาร์กิวเมนต์ -p 0ดังนั้นจึงจับแพ็กเก็ตทั้งหมด คุณยังสามารถระบุอินเทอร์เฟซเครือข่ายเฉพาะเพื่อตรวจสอบโดยใช้ อาร์กิวเมนต์ -cตามด้วย ID ดัชนีของอินเทอร์เฟซ หากต้องการรับรายการอินเทอร์เฟซเครือข่ายและรหัสดัชนี (ifIndex) คุณสามารถใช้คำสั่ง:
pktmon comp list
เมื่อคุณเริ่มตรวจสอบการรับส่งข้อมูล คุณจะเห็นแพ็กเก็ต DNS ที่บันทึกไว้แสดงแบบเรียลไทม์ใน Command Prompt ดังที่แสดงด้านล่าง
ตรวจสอบการรับส่งข้อมูล DNS แบบเรียลไทม์
หากต้องการหยุดการติดตามการจราจร ให้กดCtrl + Cเมื่อเสร็จสิ้น ไฟล์บันทึก PktMon.etl จะ ถูกสร้างขึ้นในไดเร็กทอรีที่คุณรัน Pktmon
อย่างไรก็ตาม ไฟล์ ETL ไม่ใช่ตัวเลือกที่ดีเนื่องจากมีแอปพลิเคชันจำนวนมากไม่รองรับ คุณสามารถแปลงไฟล์ ETL เป็นไฟล์ PCAPNG ได้โดยใช้คำ สั่ง pktmon pcapngตัวอย่างเช่น หากต้องการแปลง PktMon.etl เป็นไฟล์ PCAPNG ชื่อPktMon.pcapngให้ป้อนคำสั่งต่อไปนี้:
pktmon pcapng PktMon.etl -o PktMon.pcapng
เมื่อไฟล์บันทึกถูกแปลงเป็นรูปแบบ PCANPNG คุณสามารถโหลดลงในโปรแกรมเช่นWiresharkเพื่อรับข้อมูลโดยละเอียดเกี่ยวกับคำขอ DNS แต่ละรายการ
วิเคราะห์บันทึก Pktmon ด้วย Wireshark
อย่างที่คุณเห็น Pktmon เป็นเครื่องมือที่ทรงพลังอย่างยิ่ง ซึ่งช่วยให้คุณได้รับข้อมูลเชิงลึกเกี่ยวกับประเภทของการรับส่งข้อมูลที่ทำงานผ่านเครือข่ายของคุณ
ในเวลาเดียวกัน Pktmon อาจมีความซับซ้อนในการใช้งาน ดังนั้นคุณควรทำความคุ้นเคยกับเอกสารวิธีใช้ก่อนที่จะรันคำสั่ง