0Pricing
Ethical Hacking Academy · บทเรียน

เทคนิคการสแกนพอร์ต

SYN, connect, UDP

เทคนิคการสแกนพอร์ต เป็นบทเรียน Ethical Hacking Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ethical Hacking Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ethical Hacking Academy มีบทเรียนทั้งหมด 4 บทเรียน

เหตุใดจึงต้องสแกนพอร์ต

พอร์ตที่เปิดอยู่เผยให้เห็นบริการที่โฮสต์กำลังทำงาน ซึ่งเป็นแผนผังพื้นผิวการโจมตีของคุณ การสแกนพอร์ตใช้ระบุว่าพอร์ต TCP และ UDP ใดเปิด ปิด หรือถูกกรอง

Nmap มีเทคนิคการสแกนหลายแบบ โดยแต่ละแบบมีข้อแลกเปลี่ยนด้านความเร็ว การพรางตัว และสิทธิ์ที่จำเป็น

สถานะพอร์ต

Nmap รายงานแต่ละพอร์ตด้วยสถานะใดสถานะหนึ่งต่อไปนี้:

  • เปิด: บริการกำลังยอมรับการเชื่อมต่ออยู่
  • ปิด: เข้าถึงได้ แต่ไม่มีบริการรอรับการเชื่อมต่อ
  • ถูกกรอง: ไฟร์วอลล์บล็อกโพรบ ทำให้ Nmap ไม่สามารถระบุได้
  • เปิด|ถูกกรอง และ ปิด|ถูกกรอง: ผลลัพธ์กำกวม

การจับมือสามขั้นตอนของ TCP

การทำความเข้าใจการสแกนจำเป็นต้องเข้าใจการจับมือของ TCP:

  • ไคลเอนต์ส่ง SYN
  • เซิร์ฟเวอร์ตอบกลับ SYN-ACK หากพอร์ตเปิดอยู่
  • ไคลเอนต์ส่ง ACK เพื่อทำการเชื่อมต่อให้เสร็จสมบูรณ์

พอร์ตที่ปิดจะตอบกลับด้วย RST ประเภทการสแกนแตกต่างกันที่ดำเนินการไปไกลเพียงใดในขั้นตอนการจับมือนี้

การสแกน SYN

การสแกน SYN (-sS) เป็นค่าเริ่มต้นเมื่อเรียกใช้ในฐานะรูท โดยจะส่ง SYN ตรวจดู SYN-ACK (เปิด) หรือ RST (ปิด) แล้วส่ง RST เพื่อไม่ทำการจับมือให้เสร็จสมบูรณ์

การสแกนแบบ "เปิดเพียงครึ่งเดียว" นี้รวดเร็วและพรางตัวได้ค่อนข้างดี เพราะไม่มีการสร้างการเชื่อมต่อเต็มรูปแบบ และจำเป็นต้องมีสิทธิ์ใช้ซ็อกเก็ตดิบ

sudo nmap -sS 192.168.1.10

การสแกนแบบเชื่อมต่อ

การสแกนแบบเชื่อมต่อ (-sT) ทำการจับมือสามขั้นตอนอย่างสมบูรณ์โดยใช้ API เครือข่ายของระบบปฏิบัติการ ไม่จำเป็นต้องมีสิทธิ์พิเศษ จึงเป็นทางเลือกสำรองสำหรับผู้ใช้ที่ไม่มีสิทธิ์ระดับสูง

เนื่องจากมีการเชื่อมต่ออย่างสมบูรณ์ การสแกนนี้จึงส่งสัญญาณชัดเจนกว่า และมีแนวโน้มถูกบันทึกโดยบริการของเป้าหมายมากกว่า

nmap -sT 192.168.1.10

การสแกน UDP

การสแกน UDP (-sU) ใช้ค้นหาบริการอย่าง DNS, SNMP และ DHCP ที่ใช้ UDP เนื่องจาก UDP ไม่ต้องสร้างการเชื่อมต่อ การสแกนจึงช้าและซับซ้อน:

  • การไม่ตอบกลับมักหมายถึงเปิด|ถูกกรอง
  • ข้อความ ICMP แจ้งว่าพอร์ตเข้าถึงไม่ได้หมายถึงปิด

บริการ UDP มักถูกมองข้าม จึงอาจซ่อนข้อมูลสำคัญที่ค้นพบได้

sudo nmap -sU --top-ports 50 192.168.1.10

การสแกนแบบพรางตัว

การสแกนหลายแบบส่งชุดแฟล็กที่ไม่ปกติเพื่อหลบไฟร์วอลล์อย่างง่ายและหลีกเลี่ยงการบันทึก SYN:

  • FIN (-sF): มีเฉพาะแฟล็ก FIN
  • NULL (-sN): ไม่ตั้งค่าแฟล็กใดเลย
  • Xmas (-sX): ตั้งค่า FIN, PSH และ URG เปรียบเสมือน "ต้นคริสต์มาสที่สว่างไสว"

วิธีเหล่านี้อาศัยพฤติกรรมตาม RFC และมักใช้ได้กับชุดระบบเครือข่ายบางประเภทเท่านั้น

sudo nmap -sX 192.168.1.10

การเลือกพอร์ต

กำหนดพอร์ตที่จะสแกนเพื่อสร้างสมดุลระหว่างความเร็วกับความครอบคลุม:

  • -p 80,443 พอร์ตที่ระบุ
  • -p 1-1000 ช่วงพอร์ต
  • -p- พอร์ตทั้ง 65535 พอร์ต
  • --top-ports 100 พอร์ตที่พบบ่อยที่สุด
  • -F การสแกนอย่างรวดเร็วด้วยพอร์ต 100 อันดับแรก
nmap -p- 192.168.1.10
nmap --top-ports 100 192.168.1.10

แม่แบบการกำหนดเวลา

แฟล็ก -T กำหนดความเร็วตั้งแต่ 0 (หวาดระแวง) ถึง 5 (บ้าคลั่ง):

  • -T0/-T1: ช้ามาก ใช้เพื่อหลบ IDS
  • -T3: ค่าเริ่มต้นที่สมดุล
  • -T4: เร็วขึ้น เหมาะกับเครือข่ายที่เชื่อถือได้
  • -T5: เร่งความเร็วสูง อาจพลาดผลลัพธ์

การสแกนที่เร็วขึ้นจะส่งสัญญาณชัดเจนกว่าและเสี่ยงต่อความไม่แม่นยำ

nmap -sS -T4 -p- 192.168.1.10

พื้นฐานการหลบเลี่ยงไฟร์วอลล์

Nmap มีตัวเลือกสำหรับทดสอบความทนทานของไฟร์วอลล์และ IDS:

  • -f แบ่งแพ็กเก็ตเป็นส่วนย่อย
  • -D ใช้ที่อยู่ต้นทางลวง
  • --source-port ปลอมแปลงพอร์ตต้นทางที่เชื่อถือได้ เช่น 53

ใช้ตัวเลือกเหล่านี้เฉพาะในการทดสอบที่ได้รับอนุญาต เพื่อประเมินความสามารถในการตรวจจับ

การรวมตัวเลือกเป็นการสแกนที่ใช้งานได้จริง

การสแกนจริงมักผสมผสานตัวเลือกเหล่านี้ การสแกน TCP อย่างละเอียดที่ใช้กันทั่วไปจะเลือกประเภทการสแกน สแกนทุกพอร์ต ใช้ความเร็วที่สูงขึ้น และบันทึกผลลัพธ์

เริ่มจากการสแกนให้ครอบคลุมเพื่อค้นหาพอร์ตที่เปิด จากนั้นจึงสแกนติดตามแบบเจาะจง (ตรวจหารุ่นและใช้สคริปต์) เฉพาะพอร์ตที่เปิดอยู่จริง แนวทางสองระยะนี้เร็วและเงียบกว่าการทำทุกอย่างพร้อมกัน

sudo nmap -sS -p- -T4 -oA tcp_all 192.168.1.10
# Then deep-scan only the open ports found

ตรวจสอบอย่างรวดเร็ว

จับคู่การสแกนกับพฤติกรรมของการสแกนนั้น

สรุปทบทวน

คุณได้เรียนรู้เทคนิคการสแกนพอร์ต:

  • สถานะพอร์ต: เปิด ปิด ถูกกรอง และรูปแบบกำกวม
  • การสแกน SYN (-sS) เป็นค่าเริ่มต้นที่พรางตัวได้ดี ส่วน การเชื่อมต่อ (-sT) ไม่ต้องใช้สิทธิ์พิเศษแต่ส่งสัญญาณชัดเจนกว่า
  • UDP (-sU) ช้า แต่ค้นพบบริการที่มักถูกมองข้าม
  • การสแกน FIN/NULL/Xmas ช่วยหลบไฟร์วอลล์อย่างง่าย
  • ควบคุมพอร์ตด้วย -p ควบคุมความเร็วด้วย -T และทดสอบการหลบเลี่ยงด้วย -f/-D

ถัดไป: การตรวจหาบริการและระบบปฏิบัติการ

คำถามที่พบบ่อย

บทเรียน “เทคนิคการสแกนพอร์ต” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “เทคนิคการสแกนพอร์ต” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ethical Hacking Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ethical Hacking Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “เทคนิคการสแกนพอร์ต”

SYN, connect, UDP คุณปฏิบัติ Ethical Hacking Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ethical Hacking Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ethical Hacking Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “เทคนิคการสแกนพอร์ต” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Ethical Hacking Academy นี้ได้ไหม

ได้ บทเรียน Ethical Hacking Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การค้นหาโฮสต์
  2. เทคนิคการสแกนพอร์ต
  3. การตรวจจับบริการและ OS
  4. เครื่องมือสร้างสคริปต์ของ Nmap
← กลับไปที่ Ethical Hacking Academy