💡 หมายเหตุ: จุดเริ่มต้นของการรักษาความปลอดภัยเซิร์ฟเวอร์คือการเลือก Hosting Environment ที่เหมาะสม VPS ของเรามาพร้อมฮาร์ดแวร์ที่แข็งแกร่ง Firewall อัจฉริยะ และระบบป้องกัน DDoS เพื่อให้เซิร์ฟเวอร์และข้อมูลของคุณปลอดภัย เลือก Linux VPS เป็นฐานที่มั่นคงและปลอดภัยสำหรับงานเซิร์ฟเวอร์ของคุณ
ความปลอดภัยเป็นเรื่องสำคัญเสมอ โดยเฉพาะกับเซิร์ฟเวอร์และพอร์ตที่ใช้สำหรับการเชื่อมต่อ TCP/IP และ UDP เครื่องมือ Netcat เหมาะอย่างยิ่งสำหรับการตรวจสอบความปลอดภัยและค้นหา Malware รวมถึงการทดสอบ Penetration Testing เชิงจริยธรรม Netcat เป็นแอปพลิเคชันที่ยืดหยุ่นสูงและมีมาอย่างยาวนาน นอกจากนี้ยังติดตั้งมาพร้อมกับ Distro Linux หลักทุกตัว ทำให้เป็นที่นิยมในฐานะเครื่องมือตรวจสอบระบบ และล่าสุด Netcat ยังมีพอร์ต Windows แล้ว จึงใช้งานเพื่อรักษาความปลอดภัยให้กับเซิร์ฟเวอร์ Windows ของคุณได้ด้วย
ใน Tutorial นี้เราจะมาดูกันว่า Netcat Listener คืออะไร และใช้มันตรวจสอบพอร์ต TCP และ UDP บนเซิร์ฟเวอร์ได้อย่างไร เริ่มกันที่คำถามแรกก่อนเลย
Netcat Listener คืออะไร?
Netcat เป็นเครื่องมือตรวจสอบเครือข่ายที่ทรงพลัง ใช้งานได้ทั้งบน Linux และ Windows เพื่อรักษาความปลอดภัยของระบบ แต่แล้ว "listener" ใน Netcat listener หมายถึงอะไร? มันเป็นแอปพลิเคชันแยกต่างหากหรือเปล่า? Actually แล้ว Netcat listener เป็นแค่ชื่อเรียกฟีเจอร์หนึ่งของ Netcat นั่นคือการ "ดักฟัง" พอร์ตที่เปิดอยู่ หน้าที่หลักของ Netcat คืออ่านและเขียนข้อมูลผ่านโปรโตคอล TCP และ UDP แต่ยังสามารถดักฟังการสื่อสารของแอปพลิเคชันอื่นได้ด้วย
Linux Hosting ที่ใช้งานได้ทันที
ต้องการวิธีที่ดีกว่าในการโฮสต์เว็บไซต์และเว็บแอปของคุณ? กำลังพัฒนาโปรเจกต์ใหม่? หรือแค่ไม่อยากใช้ Windows? นั่นคือเหตุผลที่เรามี Linux VPS
เริ่มต้นใช้งาน Linux VPS ของคุณโปรแกรมต่างๆ รับส่งข้อมูลผ่านเครือข่ายโดยใช้โปรโตคอล TCP และ UDP ซึ่งต้องอาศัยพอร์ต พอร์ตทำหน้าที่เหมือนช่องทางการสื่อสารเข้าออกของคอมพิวเตอร์ ข้อมูลทุกอย่างต้องผ่านพอร์ตเสมอ นั่นเป็นเหตุผลว่าทำไมหนึ่งในงานหลักของไฟร์วอลล์คือการบล็อกพอร์ตที่ไม่ได้ใช้งานบนเซิร์ฟเวอร์ คุณสามารถอ่านเพิ่มเติมเกี่ยวกับพอร์ตได้ใน บทความนี้เกี่ยวกับ port forwardingตอนนี้มาเริ่มดูวิธีใช้ Netcat เพื่อดักฟังพอร์ตที่น่าสงสัยกัน แน่นอนว่า Netcat listener ยังสามารถส่งข้อมูลหรือแม้แต่ไฟล์ผ่านเครือข่ายได้ แต่เนื่องจากความปลอดภัยต่ำ จึงไม่ใช่ตัวเลือกที่เหมาะสม
วิธีใช้ Netcat Listener จาก Linux Terminal
การใช้ Netcat listener ทำได้ง่ายมากโดยการรันคำสั่ง Netcat คุณไม่จำเป็นต้องรันในฐานะ "super-user" (sudo) เว้นแต่ต้องการเข้าถึงพอร์ตที่มีหมายเลขต่ำกว่า 1024 เพียงพิมพ์คำสั่งต่อไปนี้ใน Linux Terminal:
netcat -l [options] [host] [port]
ในคำสั่งนี้ ออปชัน -l บอกให้ Netcat ฟังพอร์ตที่ระบุ คุณสามารถรวมกับคำสั่งอื่นเพื่อสแกนพอร์ต โอนข้อมูล และอื่นๆ อ่านบทความนี้ต่อเพื่อดูตัวอย่างการใช้งาน Netcat เพิ่มเติม
วิธีตั้งค่า Netcat Listener บนพอร์ต TCP/UDP
การตั้งค่า network listener ด้วย Netcat นั้นไม่ยากเลย สิ่งที่คุณต้องมีคือเครื่อง PC และคอมพิวเตอร์หรือเซิร์ฟเวอร์ระยะไกล ผมจะใช้ Cloudzy Linux VPS.
ขั้นตอนที่ 1: สแกนช่วง Port
ขั้นแรกคือสแกนหาพอร์ตที่เปิดอยู่บนเซิร์ฟเวอร์ของคุณ หากมีพอร์ตในใจแล้ว ข้ามไปขั้นตอนถัดไปได้เลย ในการใช้ Netcat เป็น port scanner ให้รันด้วยออปชัน -z:
netcat -z -v -n REMOTE_COMPUTER_IP_ADDRESS 2000-5000
ในตัวอย่างนี้ ผมสั่งให้ Netcat สแกนพอร์ตทั้งหมดในช่วง 2000-5000 บนคอมพิวเตอร์ระยะไกล แทนที่ REMOTE_COMPUTER_IP_ADDRESS ด้วย IP address จริงของเซิร์ฟเวอร์คุณ การรันคำสั่งนี้ใน Linux Terminal หรือ Windows Command-Prompt จะแสดงข้อมูลจำนวนมาก ส่วนใหญ่เป็นพอร์ตที่ปิดอยู่ ดังนั้นถ้าต้องการดูเฉพาะพอร์ตที่เปิด ผมแนะนำวิธีที่กระชับกว่านี้
ขั้นตอนที่ 2: สแกนหา Port ที่เปิดอยู่
netcat -z -v -n REMOTE_COMPUTER_IP_ADDRESS 2000-5000 2>&1 | grep succeeded
สำหรับทุกพอร์ตที่เปิดอยู่ คำสั่งนี้จะแสดงผลในรูปแบบนี้:
การเชื่อมต่อไปยัง IP_ADD พอร์ต 2200 [tcp/*] สำเร็จ!
การเชื่อมต่อไปยัง IP_ADD พอร์ต 2330 [tcp/*] สำเร็จ!
ขั้นตอนที่ 3: ตั้งค่า Netcat Listener บนเซิร์ฟเวอร์
จากตัวอย่างนี้ ดูเหมือนพอร์ต 2200 และ 2330 เปิดอยู่บนเซิร์ฟเวอร์ของผม สมมติว่าต้องการตั้งค่า listener บนเซิร์ฟเวอร์เพื่อดูว่ามีข้อมูลอะไรส่งผ่านพอร์ต 2200 ก่อนอื่นให้ตั้งค่า listener ก่อน:
netcat -l -p 2200
จำไว้ว่าคุณสามารถรันคำสั่งนี้ได้ทั้งบน Windows Command-Prompt และ Linux Terminal หรือ Shell
Linux Hosting ที่ใช้งานได้ทันที
ต้องการวิธีที่ดีกว่าในการโฮสต์เว็บไซต์และเว็บแอปของคุณ? กำลังพัฒนาโปรเจกต์ใหม่? หรือแค่ไม่อยากใช้ Windows? นั่นคือเหตุผลที่เรามี Linux VPS
เริ่มต้นใช้งาน Linux VPS ของคุณขั้นตอนที่ 4: ส่งข้อความทดสอบด้วย Netcat จาก PC ของคุณ
เมื่อตั้งค่า listener บนเซิร์ฟเวอร์เรียบร้อยแล้ว ให้ทดสอบโดยส่งข้อความจาก PC ของคุณ
netcat -u ip_address 2200
ip_address คือ IP address ของ remote desktop หรือเซิร์ฟเวอร์ของคุณ หากการเชื่อมต่อสำเร็จ คุณสามารถพิมพ์ข้อความใดก็ได้ และจะปรากฏขึ้นบน Netcat listener ของเซิร์ฟเวอร์ คุณตรวจสอบสิ่งนี้ได้ผ่าน an RDP หรือการเชื่อมต่อ VNC.
ขั้นตอนที่ 5 (ไม่บังคับ): บันทึกข้อมูลลงไฟล์
หากต้องการตรวจสอบข้อมูลที่ได้จาก Netcat listener ในภายหลัง ให้ใช้คำสั่งต่อไปนี้เพื่อบันทึกลงในไฟล์ข้อความ
netcat -l 2200 > heard.out
ตัวอย่างเช่น คำสั่งนี้บอกให้ Netcat บันทึกทุกอย่างที่ "ได้ยิน" บนพอร์ต 2200 ลงในไฟล์ข้อความชื่อ heard out ซึ่งคุณสามารถเปิดด้วย text editor ได้ในภายหลัง สำหรับ Netcat cheat sheet คุณสามารถเยี่ยมชมได้ที่ เอกสาร Netcat.
วิธีใช้ Netcat UDP สำหรับการแชร์ไฟล์แบบ P2P และ Torrenting
อย่างที่กล่าวไปแล้ว คุณสามารถใช้ Netcat โอนไฟล์ได้ แต่โดยทั่วไปไม่แนะนำเพราะความปลอดภัยในการโอนข้อมูลนั้นต่ำ อย่างไรก็ตาม ปัญหานี้แก้ได้โดยใช้ User Diagram Protocol (UDP) แทน TCP/IP ตามปกติ UDP เป็นโปรโตคอลที่ค่อนข้างใหม่กว่าและมักถูกเลือกใช้เพราะความเร็วสูงและ overhead ต่ำ UDP จึงเหมาะสำหรับการโอนไฟล์ผ่าน Netcat แล้วจะใช้ Netcat UDP สำหรับการแชร์ไฟล์แบบ P2P ได้อย่างไร? ทำตามขั้นตอนเหล่านี้ได้เลย
อ่านเพิ่มเติม: ประเภทของโปรโตคอลการถ่ายโอนไฟล์มีอะไรบ้าง?
ตั้งค่าฝั่งผู้รับ
สำหรับการโอนไฟล์แบบ Peer-to-Peer (P2P) ด้วย Netcat คุณต้องมีคอมพิวเตอร์สองเครื่อง ได้แก่ เครื่องส่งและเครื่องรับ เพื่อให้เข้าใจง่าย ในตัวอย่างนี้เครื่องรับจะใช้ IP address เป็น 1.1.1.1 และไฟล์ที่จะส่งชื่อ "file.txt" ผ่าน port 3031 เริ่มต้นด้วยการรัน Netcat บนเครื่องรับโดยพิมพ์คำสั่งต่อไปนี้:
netcat 3031 > file.txt
คำสั่งนี้สั่งให้ฝั่งรับฟังที่พอร์ต 3031 และเขียนข้อมูลที่ได้รับลงในไฟล์ชื่อ file.txt นั่นคือเราใช้ Netcat listener เป็นเครื่องมือสำหรับถ่ายโอนไฟล์ ซึ่งไฟล์นั้นจะเป็นอะไรก็ได้ รวมถึงไฟล์มัลติมีเดียด้วย ต่อไปจะเริ่มการถ่ายโอนไฟล์โดยพิมพ์คำสั่งต่อไปนี้ที่ฝั่งผู้ส่ง:
netcat 1.1.1.1 3031 < file.txt
คำสั่งนี้บอกให้คอมพิวเตอร์ส่งข้อมูลโหลดไฟล์ชื่อ "file.txt" และส่งไปยังคอมพิวเตอร์ที่มีที่อยู่ IP เป็น 1.1.1.1 โดยใช้พอร์ต 3031
อ่านเพิ่มเติม: เครื่องมือ Linux ที่ดีที่สุดสำหรับการติดตามประสิทธิภาพของระบบ
เพิ่มความปลอดภัยให้กับ VPS ของคุณ
การรักษาความปลอดภัยของเซิร์ฟเวอร์เป็นงานที่ต้องทำอย่างต่อเนื่อง และไม่ควรมองข้ามเด็ดขาด มาตรการต่าง ๆ เช่น การบล็อกหรือสแกนพอร์ต ล้วนเป็นสิ่งจำเป็นหากคุณต้องการปกป้องเซิร์ฟเวอร์และข้อมูลของคุณให้ปลอดภัยและเป็นส่วนตัว อย่างไรก็ตาม มาตรการรักษาความปลอดภัยที่ดีแค่ไหนก็ไม่มีความหมาย หากผู้ให้บริการโฮสติ้งของคุณไม่ให้ความสำคัญกับความปลอดภัย ที่ Cloudzy เราเข้าใจความต้องการด้านความปลอดภัยและความเป็นส่วนตัวของคุณ จึงได้ติดตั้งไฟร์วอลล์ทั้งในระดับฮาร์ดแวร์และ AI หลายชั้น พร้อมระบบป้องกัน DDoS อัจฉริยะ และอัลกอริทึมความปลอดภัยที่พัฒนาขึ้นเอง ดังนั้น เมื่อคุณเลือกใช้ Linux VPS จาก Cloudzy, คุณทำสิ่งนั้นได้อย่างมั่นใจว่าเซิร์ฟเวอร์ของคุณปลอดภัยสูงสุดจากฝั่งเรา รวมถึงฟีเจอร์ที่ช่วยให้คุณ ซื้อเซิร์ฟเวอร์เสมือนโดยไม่เปิดเผยตัวตน จากที่ไหนก็ได้ทั่วโลก