🔍 บทนำ
(เนื้อหาเริ่มต้นของบทความ Flow vs Packet: เมื่อไหร่ควรใช้ Wireshark และเมื่อไหร่ควรใช้ Zeek)
ในบทสุดท้ายของหมวด Transport Layer (Layer 4) นี้ เราจะมาคุยเรื่อง “ยุทธศาสตร์” การเลือกเครื่องมือครับ เมื่อคุณก้าวเข้าสู่สนามจริง คุณจะพบว่าข้อมูลเครือข่ายนั้นมีปริมาณมหาศาลมาก จนบางครั้งการเก็บทุกอย่างไว้อาจจะทำให้ “ถังเก็บข้อมูลเต็ม” หรือ “เครื่องค้าง” ได้
นักสืบระดับโปรจึงต้องเลือกระหว่างการเก็บ “ทุกรายละเอียด” (Packet) หรือการเก็บแค่ “บทสรุป” (Flow) เพื่อให้การทำงานมีประสิทธิภาพสูงสุดครับ
⚖️ 09-Flow vs Packet: เมื่อไหร่ควรใช้กล้องจุลทรรศน์ และเมื่อไหร่ควรใช้ภาพถ่ายดาวเทียม
ในการสืบสวนเครือข่าย เรามักจะพบกับทางเลือกระหว่าง Full Packet Capture (FPC) และ Flow Analysis (Metadata) ทั้งสองอย่างมีดีคนละแบบ และนักสืบที่ฉลาดจะรู้วิธีใช้พวกมันร่วมกันครับ
📖 พจนานุกรมฉบับนักสืบ (The Investigator’s Glossary)
| คำศัพท์ | คำอ่าน | ความหมายในเชิงเทคนิค |
|---|---|---|
| Full Packet Capture | ฟูล แพ็กเก็ต แคปเจอร์ | การเก็บข้อมูล “ทุกบิต ทุกไบต์” ที่วิ่งผ่านสายแลน (เหมือนการบันทึกวิดีโอเหตุการณ์ทั้งหมด) |
| NetFlow / IPFIX | เน็ต-โฟล | มาตรฐานการเก็บข้อมูลแบบสรุปผล (ใคร คุยกับใคร เมื่อไหร่ นานแค่ไหน) โดยไม่สนเนื้อหาข้างใน |
| Metadata | เมตา-ดาต้า | “ข้อมูลเหนือข้อมูล” เช่น ชื่อไฟล์ที่ถูกส่ง, หัวข้ออีเมล (Zeek เก่งเรื่องนี้มาก) |
| DPI (Deep Packet Inspection) | ดี-พี-ไอ | การแกะดูเนื้อหาข้างใน Packet เพื่อดูว่ามันคือแอปพลิเคชันอะไรกันแน่ |
| Evidence Retention | เอ-วิ-เดนซ์ รี-เทน-ชัน | ระยะเวลาในการเก็บรักษาหลักฐาน (Packet เก็บได้สั้นเพราะใหญ่, Flow เก็บได้นานเพราะเล็ก) |
📊 ตารางเปรียบเทียบ: เลือกอาวุธให้ถูกงาน
| คุณสมบัติ | Packet Analysis (Tshark/Wireshark) | Flow/Metadata Analysis (Zeek/NetFlow) |
|---|---|---|
| ความละเอียด | ระดับรูขุมขน (เห็นทุกบิต) | ระดับภาพรวม (เห็นพฤติกรรม) |
| ขนาดไฟล์ | ใหญ่มาก (GB/min) | เล็กมาก (MB/day) |
| ความเร็วในการค้นหา | ช้า (ต้องไล่ดูทีละ Packet) | เร็วมาก (ค้นหาจากหลักล้านรายการได้ทันที) |
| การใช้งาน | ใช้พิสูจน์หลักฐาน (Forensics) | ใช้ตรวจจับความผิดปกติ (Threat Hunting) |
| ตัวอย่าง | “เขาแฮกรหัสอะไรไป?” | “เมื่อวานนี้มีใครแอบคุยกับ IP ในต่างประเทศไหม?” |
🕵️ ยุทธศาสตร์การสืบสวนแบบ 2 ขั้นตอน (The Hybrid Approach)
นักสืบส่วนใหญ่มักจะทำแบบนี้ครับ:
Step 1: ใช้ Flow/Metadata (Zeek) นำทาง
รัน Zeek ทิ้งไว้ตลอดเวลาเพื่อดูภาพรวม เมื่อเจอความผิดปกติ เช่น “มีการส่งข้อมูลออกไปนอกบริษัท 10GB ตอนตีสอง” เราจะใช้ conn.log ของ Zeek เพื่อระบุ IP และช่วงเวลา ที่เกิดเหตุทันที
Step 2: ใช้ Packet Capture (Tshark) เจาะจง
เมื่อรู้เวลาและตัวบุคคลแล้ว เราค่อยไปดึงไฟล์ PCAP เฉพาะช่วงเวลานั้นมาแกะดูด้วย Tshark เพื่อดูว่า “ไอ้ 10GB ที่ส่งออกไปน่ะ มันคือไฟล์ความลับอะไรกันแน่?”
🛠 การทดลอง: ฝึกมองความต่างบน Arch Linux
ลองรันสองอย่างพร้อมกันดูครับ:
Packet:
sudo tshark -i eth0 -w dump.pcap(ทิ้งไว้ 1 นาที)Flow (Zeek):
zeek -i eth0(ทิ้งไว้ 1 นาที)
สังเกตขนาดไฟล์ที่เกิดขึ้น:
dump.pcapจะมีขนาดใหญ่กว่าไฟล์conn.logหลายร้อยเท่าตัว!
📝 สรุปปิดท้ายหมวด Transport Layer
หมวดนี้สอนให้เราเห็นว่า การจับมือ (Handshake) และ สถานะ (Flags) คือหัวใจของการสื่อสาร และการใช้เครื่องมืออย่าง Zeek ช่วยให้เรามองเห็นภาพรวมของสิ่งเหล่านี้ได้โดยไม่จมกองข้อมูลครับ
💡 ขั้นตอนต่อไปที่คุณควรลอง:
ลองจดบันทึกว่า ใน 1 ชั่วโมงของการใช้งานเน็ตที่บ้าน คุณสร้าง Packet ไปทั้งหมดกี่ MB (ดูจาก
ifconfigหรือip -s link)ลองใช้
zeek-cutดึงข้อมูลเฉพาะorig_bytesและresp_bytesในconn.logมาบวกกันดูว่าตรงกับข้อมูลจริงไหม