Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบเครือข่าย >> ระบบเครือข่าย

วิธีหา Open Port และ Blocked Port (TCP/UDP) บนคอมพิวเตอร์

มีโอกาสดีที่คุณมาอ่านบทความนี้ เพราะแอปพลิเคชันที่คุณพยายามรันบ่นว่า "Port" (พอร์ต) ถูกบล็อก หรือคุณอ่านมาว่า การปล่อย "Port" บางพอร์ตบนเครือข่ายอาจเป็นปัญหาด้านความปลอดภัย

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

Network Port (พอร์ตเครือข่าย) คืออะไร?

สิ่งแรกที่คุณควรรู้คือ พอร์ตที่เราอ้างอิงที่นี่เป็น Virtual (เสมือนจริง) ไม่เกี่ยวข้องกับพอร์ตฮาร์ดแวร์เครือข่ายทางกายภาพบนเราเตอร์ ทีวี คอนโซล หรือคอมพิวเตอร์ของคุณ พอร์ตคือเพียงวิธีสำหรับฮาร์ดแวร์และซอฟต์แวร์เครือข่ายจัดระเบียบトラฟฟิกข้อมูล

คิดเหมือนเลนสำรองบนถนน ทางเท้าสำหรับคนเดิน อาจมีเลนจักรยานเฉพาะทาง รถร่วมเดินทางและรถบัสก็มีเลนของตัวเอง พอร์ตทำหน้าที่เหมือนกัน พอร์ตหนึ่งอาจใช้สำหรับรับอีเมล อีกพอร์ตสำหรับคำขอถ่ายโอนไฟล์ หรือトラฟฟิกเว็บไซต์

มีพอร์ต 2 ประเภททั่วไป ที่ต้องการคำอธิบายสั้นๆ ก่อนที่เราจะไปตรวจสอบว่าพอร์ตไหนบนระบบของคุณเปิดหรือปิด

TCP และ UDP Ports คืออะไร?

พอร์ต 2 ประเภททั่วไปบนเครือข่ายสมัยใหม่ เรียกว่า TCP และ UDP Ports นั่นคือ Transmission Control Protocol และ User Datagram Protocol ตามลำดับ ดังนั้น 2 ประเภทพอร์ตนี้ใช้โปรโตคอลเครือข่ายที่ต่างกัน

คุณสามารถคิดได้ว่าเป็นชุดกฎที่แตกต่างกันสำหรับวิธีที่บิตข้อมูลควรส่งและรับ ทั้งสองประเภทพอร์ตสร้างบน Internet Protocol (IP) พื้นฐานที่ทำให้อินเทอร์เน็ตและเครือข่ายบ้าน ทำงานได้ อย่างไรก็ตาม เหมาะสำหรับแอปพลิเคชันที่ต่างกัน

ความแตกต่างใหญ่คือ เมื่อคุณส่งข้อมูลผ่าน UDP ผู้ส่งไม่ต้องสร้างการเชื่อมต่อกับผู้รับก่อนเริ่มสนทนา มันเหมือนส่งจดหมาย คุณไม่รู้ว่าอีกฝ่ายได้รับข้อความหรือไม่ และไม่มีการรับประกันว่าจะได้รับข้อตอบกลับ

TCP ในทางกลับกัน เหมือนโทรศัพท์ ผู้รับต้อง "รับสาย" การเชื่อมต่อ และมีการไหลของข้อมูลไป-มาจนกว่าจะมีฝ่ายใดฝ่ายหนึ่งวางสายโดยเจตนา

ข้อความ UDP โดยทั่วไปจะถูกกระจาย (Broadcast) ผ่านเครือข่ายไปยังใครก็ตามที่กำลังฟังบนพอร์ต UDP ที่ระบุ นี่ทำให้เหมาะสำหรับข้อความประเภท Housekeeping (ดูแลระบบ) ที่เกี่ยวกับการรันเครือข่ายเอง ยังเหมาะสำหรับ Voice-over-IP streaming, เกมออนไลน์ และการกระจายสตรีม

ทำไม? แอปพลิเคชันเหล่านี้ได้รับประโยชน์จาก Latency ต่ำและสตรีมข้อมูลคงที่ที่ไม่จำเป็นต้องสมบูรณ์แบบเพื่อเป็นประโยชน์ การเสียหายเล็กน้อยในแชท Skype ไม่สำคัญเท่าการมี Lag น้อย

TCP พบได้บ่อยกว่า UDP มาก และรับรองว่าข้อมูลทั้งหมดถูกส่งรับโดยไม่มีข้อผิดพลาด เกือบทุกอย่างที่ไม่ต้องการข้อได้เปรียบเฉพาะของ UDP จะใช้ TCP แทน

พอร์ตไหนที่มักจะเปิดอยู่โดยค่าเริ่มต้น?

มีพอร์ตจำนวนมาก หมายเลขพอร์ตสามารถเป็นอะไรก็ได้จาก 0 ถึง 65535! นั่นไม่ได้หมายความว่าแอปพลิเคชันไหนก็ตามสามารถเลือกพอร์ตไหนก็ได้ มีมาตรฐานและช่วงที่กำหนดไว้ ซึ่งช่วยให้เราทำความเข้าใจสัญญาณรบกวนได้

พอร์ต 0-1023 เกี่ยวข้องกับบริการเครือข่ายสำคัญและพื้นฐานบางส่วน นี่สมเหตุสมผล เนื่องจากพอร์ตหมายเลขต่ำถูกมอบหมายก่อน โปรโตคอล SMTP สำหรับอีเมล ตัวอย่างเช่น ใช้พอร์ต 25 อย่างเดียว

พอร์ต 1024-49151 รู้จักในชื่อ "Registered Ports" (พอร์ตจดทะเบียน) และถูกมอบหมายให้บริการทั่วไปที่สำคัญ เช่น OpenVPN บนพอร์ต 1194 หรือ Microsoft SQL บนพอร์ต 1433 และ 1434

หมายเลขพอร์ตที่เหลือรู้จักในชื่อ "Dynamic" หรือ "Private" Ports พอร์ตเหล่านี้ไม่ได้ถูกจอง และใครก็ตามสามารถใช้บนเครือข่ายเพื่อรองรับบริการเฉพาะ ปัญหาเกิดขึ้นเมื่อบริการ 2 ตัวขึ้นไปบนเครือข่ายเดียวกันใช้พอร์ตเดียวกัน

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

  • 20 – FTP (File Transfer Protocol)
  • 22 – Secure Shell (SSH)
  • 25 – Simple Mail Transfer Protocol (SMTP)
  • 53 – Domain Name System (DNS)
  • 80 – Hypertext Transfer Protocol (HTTP)
  • 110 – Post Office Protocol (POP3)
  • 143 – Internet Message Access Protocol (IMAP)
  • 443 – HTTP Secure (HTTPS)

เนื่องจากมีหมายเลขพอร์ตทั่วไปหลายพันตัว วิธีที่ง่ายที่สุดคือจดจำช่วง (Ranges) ซึ่งจะบอกคุณว่าพอร์ตที่กำหนดถูกจองหรือไม่ ขอบคุณ Google คุณยังสามารถค้นหาว่าบริการไหนใช้พอร์ตเฉพาะได้ในไม่กี่วินาที

หา Open Ports ใน Windows

ตอนนี้เรารู้พื้นฐาน TCP และ UDP Ports แล้ว ถึงเวลาลงมือทำกระบวนการหาว่าพอร์ตไหนบนคอมพิวเตอร์ของคุณเปิดอยู่และใช้งาน中

ข่าวดีคือ Windows มีคำสั่งที่มีประโยชน์ในตัว ที่จะแสดงว่าพอร์ตไหนกำลังถูกใช้งานโดยแอปพลิเคชันและบริการต่างๆ

  • สิ่งแรกที่คุณต้องการทำคือเปิด Start Menu และค้นหา CMD
  • ตอนนี้ คลิกขวาที่ CMD และเลือก Run as Administrator (เรียกใช้เป็นผู้ดูแลระบบ)
  • เมื่อ Command Prompt เปิดแล้ว ให้พิมพ์:

Netstat -ab

  • ไม่ต้องกังวลเกี่ยวกับรายการข้อมูลยาวนานที่เลื่อนผ่านไปเร็วกว่าที่คุณอ่านได้ คุณสามารถใช้ CTRL+C และ CTRL+V เพื่อคัดลอกและวางข้อมูลลงใน Notepad หรือ Text Editor อื่นๆ
  • ข้อมูลในวงเล็บคือชื่อโปรแกรมที่ใช้พอร์ต TCP หรือ UDP หมายถึงโปรโตคอลที่ใช้บนพอร์ตนั้น หมายเลขประกอบด้วยที่อยู่ IP และหมายเลขพอร์ตหลังจาก Colon (:)

การสแกนหา Blocked Ports

สิ่งนั้นดูแลพอร์ตที่ใช้งานและโดยแอปไหน แต่ไม่บอกว่าพอร์ตไหนถูกบล็อกโดย Windows Firewall อยู่

  • เปิด Start Menu และค้นหา CMD อีกครั้ง
  • คลิกขวาที่ CMD และ Run as Administrator
  • เมื่อ Command Prompt เปิดแล้ว ให้พิมพ์:

netsh firewall show state

นี่คือการแสดงพอร์ตที่ถูกบล็อกและเปิด ตามการกำหนดค่าของ Windows Firewall ของคุณ

คุณจะเห็นบันทึกว่าคำสั่งนี้ Deprecated (เลิกใช้แล้ว) แต่คำสั่งใหม่ไม่แสดงข้อมูลที่เราต้องการ ดังนั้น לעת עתה การใช้คำสั่ง 'show state' ยังคงเป็นวิธีที่เร็วและง่ายที่สุดเพื่อรับข้อมูลพอร์ต

เพราะ Windows Firewall ไม่ได้บล็อกพอร์ต นั่นไม่ได้หมายความว่าเราเตอร์หรือ ISP ของคุณไม่ได้บล็อก ดังนั้นสิ่งสุดท้ายที่เราต้องการทำคือตรวจสอบว่ามีการบล็อกภายนอกหรือไม่

  • เปิด Start Menu และค้นหา CMD
  • คลิกขวาที่ CMD และ Run as Administrator
  • เมื่อ Command Prompt เปิดแล้ว ให้พิมพ์:

netstat -ano | findstr -i SYN_SENT

หากคุณไม่ได้รายการ Hits ใดๆ แสดงว่ายังไม่มีอะไรถูกบล็อก หากมีพอร์ตบางพอร์ตแสดงรายการ หมายความว่าพวกเขาถูกบล็อก หากพอร์ตที่ไม่ถูกบล็อกโดย Windows แสดงขึ้นที่นี่ คุณอาจต้องการตรวจสอบเราเตอร์ หรือส่งอีเมลให้ ISP หากการเปลี่ยนพอร์ตไม่ใช่ทางเลือก

แอปพลิเคชันที่มีประโยชน์สำหรับการ Map สถานะพอร์ต

ในขณะที่ Command Prompt เป็นเครื่องมือ Quick and Dirty ที่ดี มีแอปพลิเคชันบุคคลที่สามที่ซับซ้อนกว่าที่ช่วยให้คุณได้ภาพการกำหนดค่าพอร์ตของคุณ 2 ตัวที่เน้นที่นี่คือตัวอย่างยอดนิยม

SolarWinds Free Port Scanner

SolarWinds ต้องการให้คุณส่งชื่อและรายละเอียดเพื่อดาวน์โหลด แต่ขึ้นอยู่กับคุณว่าจะใส่ข้อมูลจริงในฟอร์มหรือไม่ เราลองเครื่องมือฟรีหลายตัวก่อนเลือก SolarWinds แต่มันคือเครื่องมือเดียวที่ทำงานได้ถูกต้องภายใต้ Windows 10 และมีอินเตอร์เฟซที่ใช้ง่าย

มันยังเป็นเครื่องมือเดียวที่ไม่ก่อให้เกิด False Positive (บวกเท็จ) ของไวรัส หนึ่งในปัญหาใหญ่ของซอฟต์แวร์สแกนพอร์ตคือ บริษัทความปลอดภัยมักมองพวกมันเป็นมัลแวร์ ดังนั้นผู้ใช้ส่วนใหญ่เพิกเฉยคำเตือนไวรัสที่มาพร้อมเครื่องมือแบบนี้ นั่นเป็นปัญหาเพราะคุณไม่สามารถแยกแยะได้ระหว่าง False Positive และไวรัสจริงในแอปเหล่านี้

SolarWinds อาจมีเงื่อนไขบางอย่าง แต่มันทำงานได้ตามที่โฆษณา และใช้ง่าย

CanYouSeeMe

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

มันจะบอกคุณว่าพอร์ตถูกบล็อกหรือไม่ และคุณจะต้องคิดว่าการบล็อกอยู่ที่คอมพิวเตอร์ เราเตอร์ หรือระดับผู้ให้บริการ

สรุป

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

แต่เมื่อสิ่งๆ ผิดปกติ การมีเครื่องมือที่ให้คุณหา Open Ports เพื่อตรวจจับกิจกรรมน่าสงสัย หรือหาจุดที่ข้อมูลมีค่าของคุณชนกำแพงปูนซีเมนต์ คือสิ่งที่ดี