🔍 บทนำ

(เนื้อหาเริ่มต้นของบทความ TCP Handshake Investigation: การตรวจจับความพยายามเชื่อมต่อ)

บทที่ 6 นี้เราขยับขึ้นมาสู่ Transport Layer (Layer 4) ซึ่งเป็นชั้นที่ซับซ้อนและสำคัญที่สุดสำหรับการสืบสวนพฤติกรรมเครือข่ายครับ

ถ้า Layer 3 คือการหาบ้านเลขที่เจอแล้ว Layer 4 คือวินาทีที่คนสองคน “ยื่นมือมาจับกัน” เพื่อตกลงว่าจะคุยกันเรื่องอะไร หากคุณอ่านจังหวะการจับมือ (Handshake) นี้ไม่ออก คุณจะไม่สามารถแยกแยะได้เลยว่านี่คือการเชื่อมต่อปกติ หรือการพยายามเจาะระบบครับ


🤝 06-TCP Handshake Investigation: การตรวจจับความพยายามเชื่อมต่อ

ในโลกของ TCP (Transmission Control Protocol) ทุกการสื่อสารต้องเริ่มด้วย “สัญญาจ้าง” ที่เรียกว่า Three-way Handshake เสมอ ในฐานะนักสืบ การเห็นแค่ว่าเขาส่งข้อมูลอะไรกันนั้นไม่พอ แต่เราต้องดูว่าเขา “เริ่มคุยกันท่าไหน” เพราะโจรส่วนใหญ่มักจะทิ้งร่องรอยไว้ตั้งแต่วินาทีแรกที่ยื่นมือมาครับ


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

คำศัพท์คำอ่านความหมายในเชิงเทคนิค
Flagแฟลก“ธง” หรือบิตพิเศษใน TCP Header ที่บอกสถานะของ Packet เช่น SYN, ACK, FIN, RST
Statefulสเตท-ฟูลระบบที่ “จำความจำ” ได้ ว่าตอนนี้การเชื่อมต่ออยู่ในขั้นตอนไหนแล้ว
Sequence Numberซี-เควนซ์ นัม-เบอร์“หมายเลขลำดับ” เปรียบเสมือนรหัสติดตามพัสดุ เพื่อให้ปลายทางเรียงข้อมูลได้ถูกต้อง
Acknowledgmentแอค-นอล-เลจ-เมนท์การ “ตอบรับ” ว่าได้รับข้อมูลลำดับที่เท่าไหร่แล้ว
SYN Floodซิน-ฟลัดการส่งคำทักทาย (SYN) รัวๆ เพื่อให้ Server ค้างเพราะมัวแต่รอจับมือให้เสร็จ (การโจมตีแบบ DoS)

🔍 วิเคราะห์ขั้นตอนการจับมือ (The 3-Way Handshake)

นักสืบต้องจำลำดับนี้ให้ขึ้นใจ เพราะหากลำดับผิดเพี้ยนไปแม้แต่นิดเดียว นั่นคือ “จุดผิดปกติ” ครับ:

  1. SYN (Synchronize): “ฮัลโหล ผมต้องการเริ่มคุยกับคุณที่พอร์ตนี้ นี่คือรหัสเริ่มต้นของผม (ISN)”

  2. SYN-ACK (Synchronize-Acknowledge): “รับทราบครับ ผมก็อยากคุยด้วย นี่คือรหัสของผม และผมได้รับรหัสของคุณแล้วนะ”

  3. ACK (Acknowledge): “โอเคครับ ผมได้รับรหัสของคุณแล้ว เริ่มส่งข้อมูลกันเลย!”

จุดสังเกต: หากมี SYN ส่งไป แต่ไม่มี SYN-ACK ตอบกลับมา อาจหมายถึงพอร์ตนั้น ปิด หรือมี Firewall กั้นอยู่


🕵️ เทคนิคสืบสวนด้วย Tshark: มองหาความผิดปกติ

เราจะใช้ Tshark กรองดูเฉพาะ “ความพยายามในการจับมือ” เพื่อดูว่ามีใครกำลังแอบสแกนเราอยู่หรือไม่

1. ดักจับเฉพาะ Packet ที่เป็นจุดเริ่มต้นการสื่อสาร (SYN)

Bash

sudo tshark -i eth0 -f "tcp[tcpflags] & (tcp-syn) != 0"

หากคุณเห็น IP เดียวกันส่ง SYN เข้ามาหาคุณหลายร้อยพอร์ตในเวลาสั้นๆ นั่นคือการทำ Port Scanning แน่นอน

2. วิเคราะห์การเชื่อมต่อที่ “ค้าง” (Half-Open)

โจรบางคนส่ง SYN มาแต่ไม่ยอมส่ง ACK กลับ (SYN Flood) เพื่อให้เครื่องเราทรัพยากรเต็ม:

Bash

sudo tshark -i eth0 -Y "tcp.flags.syn==1 && tcp.flags.ack==0"

🕵️ จุดที่นักสืบต้องสงสัย (Investigative Insights)

  1. Sequence Number Prediction: ในสมัยก่อนถ้ารหัสลำดับ (Sequence Number) เดาง่าย โจรสามารถสวมรอยการเชื่อมต่อได้ (Session Hijacking) แต่ OS รุ่นใหม่ๆ อย่าง Arch Linux จะสุ่มรหัสนี้มาอย่างดี

  2. Retransmission: หากเห็น SYN เดิมส่งซ้ำๆ (Retransmission) แสดงว่าเน็ตอาจจะมีปัญหา หรือเป้าหมายกำลังจงใจเมินเฉยต่อ Packet ของเรา

  3. Port Knocking: นักสืบสายลับบางคนตั้งค่า Server ให้ “เคาะพอร์ต” ตามลำดับที่กำหนด (เช่น เคาะพอร์ต 100, 200, 300) แล้วพอร์ตลับถึงจะเปิดให้เข้าใช้งาน


📝 บันทึกการวิเคราะห์

การสืบสวนใน Layer 4 คือการดู “เจตนา”

  • SYN เฉยๆ แล้วหายไป: อาจเป็นการสแกน

  • SYN แล้วตามด้วย RST: อาจเป็นการเช็คว่าพอร์ตเปิดไหมแบบรวดเร็ว

  • SYN -> SYN-ACK -> ACK: คือการเริ่มทำงานจริงของแอปพลิเคชัน


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

  1. ลองเปิด Tshark ด้วยคำสั่งกรอง SYN แล้วลองเปิด Browser เข้าเว็บดู คุณจะเห็นการจับมือเกิดขึ้นมากมายในพอร์ต 443 (HTTPS)

  2. ลองสังเกตค่า Win (Window Size) ใน Packet SYN มันจะบอกเราว่าเครื่องนั้นสามารถรับข้อมูลได้เร็วแค่ไหนในหนึ่งครั้ง