FTP มีสองโหมดการทำงาน คือ Active และ Passive โหมด Active FTP เป็นโหมดดั้งเดิมที่มีมาก่อน แต่ปัจจุบันการเชื่อมต่อส่วนใหญ่ใช้วิธี Passive FTP แล้ว Passive และ Active FTP คืออะไร และต่างกันอย่างไร? แบบไหนปลอดภัยกว่าและตั้งค่าได้ง่ายกว่า? บทความนี้รวบรวมคำตอบสำหรับคำถามที่พบบ่อยเกี่ยวกับ Active vs Passive FTP ไว้ครบถ้วน เริ่มกันที่นิยามของแต่ละโหมดก่อนเลย:
- Active FTP คืออะไร?
- Passive FTP คืออะไร?
- ความแตกต่างระหว่าง FTP Active กับ Passive
- Active FTP กับ Passive FTP ในแง่ความปลอดภัย
- Active FTP กับ Passive FTP ในแง่ปัญหา Firewall
- Command Channel และ Data Channel ใน FTP แบบ Active กับ Passive ต่างกันอย่างไร?
- ทำไมถึงควรใช้ FTP แบบ Active แทน Passive?
- เปลี่ยน FTP จาก Active เป็น Passive
- Command Prompt ใช้ FTP แบบ Active หรือ Passive?
- Windows 7 FTP Server ใช้แบบ Active หรือ Passive?
- เว็บเบราว์เซอร์ใช้ FTP แบบ Passive หรือ Active?
- สรุป
Active FTP คืออะไร?

เมื่อเปรียบเทียบ FTP แบบ Active กับ Passive แล้ว โหมด Active เป็นวิธีการเชื่อมต่อ FTP แบบเก่าที่มีทั้งข้อดีและข้อเสีย ในการเชื่อมต่อ FTP จะมีเครื่อง Client และเครื่อง Server เชื่อมต่อกันผ่านสองพอร์ต ได้แก่ Command Port และ Data Port โดยทั้งสองฝั่งต้องตกลงกันว่าจะใช้หมายเลขพอร์ตใดในการเชื่อมต่อ กระบวนการของ Active Mode (โดยสังเขป) เป็นดังนี้:
- Client ใช้พอร์ตแบบสุ่มเพื่อส่งคำสั่ง (PORT command) ไปยังพอร์ต 21 ของ Server คำสั่งนี้จะบอก Server ว่าควรเชื่อมต่อมายัง Data Port ใดบนฝั่ง Client
- Server ใช้พอร์ต 20 เพื่อเชื่อมต่อมายังพอร์ตนั้นและสร้างการเชื่อมต่อ
กระบวนการนี้เรียกว่า Active เพราะ Client เป็นฝ่ายกำหนดพอร์ตที่ต้องการให้ Server เชื่อมต่อมา ใน FTP แบบ Active นั้น Server เป็นฝ่ายเริ่มต้นการเชื่อมต่อตามคำสั่งของ Client แล้ว Passive FTP คืออะไร?
Passive FTP คืออะไร?

Passive FTP เป็นโหมด FTP แบบใหม่กว่า ถือว่าปลอดภัยกว่าและใช้งานง่ายกว่า เช่นเดียวกับ Active FTP Client จะส่งคำสั่งไปยังพอร์ต 21 ของ Server แต่คราวนี้ Client ส่งคำสั่งที่ชื่อว่า PASV command จากนั้น Server จะเป็นฝ่ายกำหนดพอร์ตที่ต้องการรับข้อมูล แล้ว Client จึงเริ่มต้นการเชื่อมต่อ
กระบวนการเป็นดังนี้:
- Client ใช้พอร์ตแบบสุ่มเพื่อส่งคำสั่ง (PASV command) ไปยังพอร์ต 21 ของ Server
- Server ตอบกลับโดยระบุ Data Port ที่ต้องการใช้ (ซึ่งเป็นพอร์ตแบบสุ่ม)
- Client ใช้พอร์ตแบบสุ่มเพื่อส่งข้อมูลไปยัง Data Port ของ Server ที่ระบุไว้
สังเกตว่า Data Port ของ Server ก็เป็นแบบสุ่มเช่นกัน พอร์ต 21 ยังคงใช้เป็น Command Port ของ Server ใน Passive FTP แต่ Data Port ของ Server จะเป็นค่าสุ่ม (ไม่ใช่พอร์ต 20 อีกต่อไป)
และสังเกตด้วยว่า Client เป็นฝ่ายเริ่มต้นการเชื่อมต่อทั้งสองพอร์ต
ความแตกต่างระหว่าง FTP Active กับ Passive

ดังที่กล่าวไป ความแตกต่างหลักคือใน Active FTP นั้น Server เป็นฝ่ายเริ่มต้น Data Connection ส่วน Passive FTP นั้น Client เป็นฝ่ายเริ่มต้น ความแตกต่างนี้ส่งผลต่อความปลอดภัยและความสะดวกในการถ่ายโอนข้อมูลของคุณ ดังนี้
Active FTP กับ Passive FTP ในแง่ความปลอดภัย
FTP แบบ Active จะใช้พอร์ต 21 (Command) และ 20 (Data) เสมอ ซึ่งหมายความว่าหากมีผู้ต้องการโจมตีเครือข่ายของคุณ พวกเขาจะรู้แล้วว่าต้องเล็งไปที่พอร์ตใด
ใน Passive FTP นั้น Data Port ฝั่ง Server จะเป็นค่าสุ่ม แม้ยังคงใช้พอร์ต 21 สำหรับ Command แต่การดักจับข้อมูลระหว่างถ่ายโอนจริงทำได้ยากกว่า
สำหรับโหมด Passive นั้น เซิร์ฟเวอร์จำเป็นต้องเปิดพอร์ตเพิ่มขึ้น เนื่องจากพอร์ตข้อมูลจะถูกสุ่มขึ้นมาในแต่ละครั้ง ซึ่งอาจสร้างช่องโหว่ให้กับเซิร์ฟเวอร์ได้ ผู้ดูแลระบบมักกำหนดช่วงของพอร์ตที่เปิดให้แคบลง เพื่อลดโอกาสที่ผู้ไม่ประสงค์ดีจะโจมตีได้
ต้องการ Remote Desktop ไหม?
RDP Server ที่เชื่อถือได้พร้อม Uptime 99.95% พกพา Desktop ของคุณไปใช้ได้ทั้งในสหรัฐอเมริกา ยุโรป และเอเชีย
รับ RDP ServerActive FTP กับ Passive FTP ในแง่ปัญหา Firewall
Firewall อาจก่อให้เกิดปัญหาในการเชื่อมต่อเครือข่ายได้ เนื่องจากหน้าที่หลักของมันคือบล็อกการเชื่อมต่อจากพอร์ตที่ไม่รู้จัก ปัญหานี้จะรุนแรงกว่าในฝั่ง Firewall ของ Client เพราะ Firewall ของเซิร์ฟเวอร์นั้นถูกตั้งค่าให้รับมือกับการเชื่อมต่อจากพอร์ตที่ไม่รู้จักได้มากกว่าอยู่แล้ว
ในโหมด Active FTP Client จะรับการเชื่อมต่อขาเข้าจากเซิร์ฟเวอร์ผ่านพอร์ตที่สุ่มขึ้นมา ดังนั้น Firewall ของ Client จึงอาจบล็อกการเชื่อมต่อนั้นได้
ในโหมด Passive FTP Client เป็นฝ่ายเริ่มต้นการเชื่อมต่อทั้งสองช่องทาง จึงผ่าน Firewall ของ Client ได้ง่ายกว่า อย่างไรก็ตาม Firewall ของเซิร์ฟเวอร์อาจยังเป็นปัญหาได้ เนื่องจากพอร์ตข้อมูลฝั่งเซิร์ฟเวอร์ถูกสุ่มเช่นกัน แต่โดยทั่วไปแล้วปัญหานี้มักน้อยกว่า เพราะ Firewall ของเซิร์ฟเวอร์ถูกตั้งค่าให้รับการเชื่อมต่อจากพอร์ตที่ไม่รู้จักได้มากกว่าเครื่อง Client อยู่แล้ว
Command Channel และ Data Channel ใน FTP แบบ Active กับ Passive ต่างกันอย่างไร?
สรุปการทำงานของ Command Channel และ Data Channel ในแต่ละโหมดมีดังนี้:
- ในโหมด Active พอร์ต Command และพอร์ตข้อมูลของ Client จะถูกสุ่มทั้งคู่ ส่วน Command Channel ของเซิร์ฟเวอร์คือ Port 21 และ Data Channel คือ Port 20
- ในโหมด Passive พอร์ต Command และพอร์ตข้อมูลของ Client จะถูกสุ่มทั้งคู่ ส่วน Command Channel ของเซิร์ฟเวอร์คือ Port 21 และ Data Channel ก็ถูกสุ่มเช่นกัน
หากต้องการ คุณยังสามารถใช้ Port 20 เป็น Data Channel ในโหมด Passive ได้ หรือจะกำหนดให้ใช้พอร์ตในช่วงที่ระบุก็ได้เช่นกัน
ทำไมถึงควรใช้ FTP แบบ Active แทน Passive?
เมื่อเปรียบเทียบโหมด Active กับ Passive ของ FTP มีเหตุผลหลักสองข้อที่ทำให้บางคนเลือกใช้ FTP แบบ Active แทน Passive ข้อแรกคือเรื่องความปลอดภัยของเซิร์ฟเวอร์ FTP แบบ Passive จำเป็นต้องเปิดพอร์ตหลายพอร์ตผ่าน Firewall เพราะพอร์ตข้อมูลถูกสุ่มขึ้นมา การระบุพอร์ตจึงทำได้ยากขึ้น แต่ก็หมายความว่ามีพอร์ตที่เปิดทิ้งไว้จำนวนมาก ซึ่งเป็นช่องทางให้ถูกโจมตีได้
อีกเหตุผลหนึ่งคือการตั้งค่า Firewall ของเซิร์ฟเวอร์อาจทำได้ยาก หรืออยู่นอกเหนือการควบคุมของคุณ ทำให้หลายคนหันมาใช้โหมด Active เพื่อเชื่อมต่อผ่าน Port 20 ซึ่ง Firewall ทุกตัวรู้จักอยู่แล้ว
Windows 10 VPS การโฮสติ้ง
รับ Windows 10 VPS สำหรับ Remote Desktop ในราคาที่ดีที่สุด ใช้งาน Windows 10 ฟรี บน NVMe SSD storage และอินเทอร์เน็ตความเร็วสูง
ดูแพ็กเกจ Windows 10 VPSเปลี่ยน FTP จาก Active เป็น Passive
วิธีเปลี่ยนจากโหมด Active เป็น Passive ใน FTP จะแตกต่างกันไปตามซอฟต์แวร์ที่คุณใช้
หากต้องการเปลี่ยน FTP จากโหมด Active เป็น Passive บน FileZilla ให้ทำตามขั้นตอนดังนี้:
- เปิด Filezilla
- บน Menu Bar ให้ไปที่ Edit > Settings
- ในหน้าต่าง Settings ให้เลือก Connections จากนั้นเลือก FTP
- เลือก 'Passive (recommended)' ใน Transfer Mode
- คลิกที่ OK
การตั้งค่าในลักษณะเดียวกันนี้มีอยู่ใน FTP Client สมัยใหม่ทุกตัว อย่างไรก็ตาม ดังที่กล่าวไป คุณอาจยังพบปัญหากับ Firewall ของเซิร์ฟเวอร์ได้ในทั้งสองโหมด และอาจต้องปรับการตั้งค่า
Command Prompt ใช้ FTP แบบ Active หรือ Passive?
FTP ผ่าน Command Prompt บน Windows นั้นทำงานในโหมด Active และไม่รองรับโหมด Passive คุณสามารถใช้ WinSCP หรือ Command-line Client ตัวอื่นเพื่อเชื่อมต่อกับเซิร์ฟเวอร์ผ่านโหมด Passive ได้
Windows 7 FTP Server ใช้แบบ Active หรือ Passive?
ผู้ใช้ Windows 7 สามารถใช้บริการอย่าง IIS เพื่อตั้ง Windows 7 เป็นเซิร์ฟเวอร์ได้ โดยคุณต้องการ เปิดใช้งาน IIS บน Windows 7.
IIS รองรับทั้งโหมด Active และ Passive โดยไม่จำเป็นต้องเปิดใช้งานแยกต่างหาก แต่คุณสามารถกำหนดช่วงพอร์ต Passive ได้ภายใน IIS
อ่านเพิ่มเติม: วิธีติดตั้ง IIS บน Windows 10
เว็บเบราว์เซอร์ใช้ FTP แบบ Passive หรือ Active?
เว็บเบราว์เซอร์อย่างเช่น Chrome และ Firefox จะใช้การตั้งค่าเครือข่ายของระบบปฏิบัติการสำหรับโหมด Active หรือ Passive ของ FTP โดยปกติแล้ว Windows จะใช้ FTP แบบ Passive เนื่องจากเป็นโหมดที่เข้ากันได้กับระบบต่างๆ ได้กว้างที่สุด
ในการเปิด/ปิดใช้งานโหมด Passive สำหรับเว็บเบราว์เซอร์ ให้ทำตามขั้นตอนด้านล่าง:
- กด 'WinKey + S' เพื่อเปิดช่องค้นหา Windows
- พิมพ์ 'Internet Options' แล้วคลิกเลือก
- ในหน้าต่าง Internet Properties ให้ไปที่แท็บ 'Advanced'
- เลื่อนลงไปยังหัวข้อ Browsing
- ติ๊กเลือกตัวเลือก 'Use Passive FTP (for firewall…'
- คลิก OK
ต้องการ Remote Desktop ไหม?
RDP Server ที่เชื่อถือได้พร้อม Uptime 99.95% พกพา Desktop ของคุณไปใช้ได้ทั้งในสหรัฐอเมริกา ยุโรป และเอเชีย
รับ RDP Serverสรุป
FTP แบบ Active และ Passive ใช้ขั้นตอนการสร้างการเชื่อมต่อที่แตกต่างกัน และแต่ละแบบก็มีข้อดีข้อเสียต่างกันไป เลือกแบบที่เหมาะกับการใช้งานของคุณ บทความนี้ยังรวบรวมคำถามที่พบบ่อยเกี่ยวกับ FTP แบบ Active และ Passive ไว้ด้วย