🔍 บทนำ

(เนื้อหาเริ่มต้นของบทความ ICMP Analysis: อ่านค่าจาก Ping และ Traceroute เพื่อระบุตัวตนเป้าหมาย) บทที่ 3 ของเราขยับขึ้นมาที่ Internet Layer (Layer 3) ครับ หลังจากที่เรารู้ว่าใครเป็นใครในวงแลนผ่าน ARP แล้ว คราวนี้เราจะใช้ ICMP เปรียบเสมือน “เครื่องส่งสัญญาณโซนาร์” เพื่อตรวจสอบว่าเป้าหมายที่เราสนใจนั้น “มีตัวตน” อยู่หรือไม่ และเขาอยู่ห่างจากเราแค่ไหน


🛰️ 03-ICMP Analysis: อ่าน “เสียงสะท้อน” เพื่อระบุตัวตนเป้าหมาย

ICMP (Internet Control Message Protocol) ไม่ใช่โปรโตคอลสำหรับส่งข้อมูลเหมือน TCP หรือ UDP แต่มันคือ “ข้อความแจ้งสถานะ” ของระบบเครือข่าย นักสืบใช้ ICMP เพื่อทำ Host Discovery (การหาว่าเครื่องเปิดอยู่ไหม) และ Network Mapping (การวาดแผนผังเส้นทาง)


📖 พจนานุกรมฉบับนักสืบ (The Investigator’s Glossary)

คำศัพท์คำอ่านความหมายในเชิงเทคนิค
Payloadเพย์-โหลดข้อมูลส่วนเกินที่แถมไปกับ Packet (โจรบางคนใช้ช่องนี้ซ่อนข้อมูลลับที่เรียกว่า ICMP Tunneling)
TTL (Time To Live)ที-ที-แอล“อายุขัย” ของ Packet ที่จะลดลง 1 ทุกครั้งที่ผ่าน Router (Hop) ใช้เพื่อป้องกัน Packet วนลูปไม่รู้จบ
Hopฮ็อปการกระโดดจาก Router ตัวหนึ่งไปยังอีกตัวหนึ่ง
Unreachableอัน-รีช-อะ-เบิลสถานะที่ปลายทางบอกว่า “มาไม่ถึง” หรือ “ไม่มีช่องทางเข้า”
Quenchเคว็นช์การส่งสัญญาณบอกให้ต้นทาง “ลดความเร็ว” ในการส่งข้อมูลลงหน่อยเพราะระบบรับไม่ไหว

🔍 วิเคราะห์ประเภท ICMP ที่พบบ่อย (Common Types)

ในหน้าจอ Tshark คุณจะเจอตัวเลข Type และ Code ซึ่งเป็นภาษาลับของ ICMP:

  1. Type 8 (Echo Request): “ฮัลโหล มีใครอยู่ไหม?” (ส่งออกไป)

  2. Type 0 (Echo Reply): “อยู่จ้า!” (ตอบกลับมา)

  3. Type 3 (Destination Unreachable): “ไปไม่ถึงนะ” (อาจโดน Firewall บล็อก หรือ Port ปิด)

  4. Type 11 (Time Exceeded): “หมดเวลาแล้ว” (Packet ตายระหว่างทาง - เป็นหัวใจของคำสั่ง traceroute)


🕵️ เทคนิคสืบสวน: TTL Fingerprinting (การเดา OS จากอายุขัย)

นี่คือความลับที่นักสืบใช้เดาว่าเป้าหมายคือเครื่องประเภทไหน โดยดูจากค่า TTL เริ่มต้นที่ตอบกลับมา:

ค่า TTL ที่เห็นใน Packetระบบปฏิบัติการที่คาดเดา (Initial TTL)
64Linux / FreeBSD / macOS
128Windows
255Network Devices (Cisco, Juniper, etc.)

ตัวอย่าง: ถ้าคุณ ping ไปที่เครื่องหนึ่งแล้วเห็นค่า ttl=54 แสดงว่าเขาน่าจะเป็น Linux (เริ่มที่ 64) และอยู่ห่างจากคุณไป 10 Hops (64 - 54 = 10)


🛠 การวิเคราะห์ด้วย Tshark

ลองจับ Packet เมื่อเราทำการ Ping หรือใช้ Nmap สแกน:

1. ดักจับเฉพาะ ICMP เพื่อดูการโต้ตอบ

Bash

sudo tshark -i eth0 -f "icmp"

2. วิเคราะห์ค่า TTL และ Payload อย่างละเอียด

Bash

sudo tshark -i eth0 -f "icmp" -T fields -e ip.src -e ip.dst -e ip.ttl -e icmp.type

📝 บันทึกการวิเคราะห์: เมื่อ ICMP กลายเป็นอาวุธ

  • ICMP Flooding: การรัวส่ง Type 8 จำนวนมากเพื่อให้เป้าหมายค้าง (DoS Attack)

  • Silent Host: เป้าหมายบางเครื่องตั้งค่าไม่ตอบสนองต่อ ICMP (ปิด Ping) เพื่อหลบเลี่ยงการสืบสวน แต่นักสืบยังมีวิธีอื่น เช่น การส่ง TCP Packet ไปเช็คแทน (ซึ่งเราจะเรียนในบทถัดไป)


💡 ขั้นตอนต่อไปที่คุณควรลอง:

  1. ลอง ping google.com แล้วดูค่า TTL ว่าได้เท่าไหร่? จากนั้นลองคำนวณดูว่า Google อยู่ห่างจากคุณกี่ Hops

  2. ลองใช้คำสั่ง traceroute 8.8.8.8 (ใน Arch Linux คือ iputils-tracepath) แล้วสังเกต Packet Type 11 ที่เด้งกลับมาใน Tshark