FTP連接時出現“227 Entering Passive Mode” 的解決方法

今天從公網的服務器連接本地內網的FTP server copy文件時,系統老是提示227 Entering Passive Mode (xxx,xxx,,xxx,xxx,x),很是奇怪,於是上網找資料仔細研究了一下,原來FTP有兩種工作模式,PORT方式和PASV方式,中文意思爲主動式和被動式 ,詳細介紹如下:

       主動 FTP :
命令連接:客戶端 >1024 端口 → 服務器 21 端口
數據連接:客戶端 >1024 端口 ← 服務器 20 端口

  被動 FTP :
命令連接:客戶端 >1024 端口 → 服務器 21 端口
數據連接:客戶端 >1024 端口 ← 服務器 >1024 端口

PORT(主動)方式的連接過程是:客戶端向服務器的FTP端口(默認是21)發送連接請求,服務器接受連接,建立一條命令鏈路。當需要傳送數據時, 客戶端在命令鏈路上用PORT命令告訴服務器:“我打開了***X端口,你過來連接我”。於是服務器從20端口向客戶端的***X端口發送連接請求,建立 一條數據鏈路來傳送數據。   

 

PASV(被動)方式的連接過程是:客戶端向服務器的FTP端口(默認是21)發送連接請求,服務器接受連接,建立一條命令鏈路。當需要傳送數據時, 服務器在命令鏈路上用PASV命令告訴客戶端:“我打開了***X端口,你過來連接我”。於是客戶端向服務器的***X端口發送連接請求,建立一條數據鏈 路來傳送數據。 

由於我的本地FTP服務器在內網,只是從外網映射了兩個端口(20,21),所以無法使用PASV方式,解決此問題的辦法也很簡單,關閉客戶端的PASV方式,強制其用PORT方式訪問服務器,登錄FTP服務器後用passive命令關閉客戶端的PASV方式,如下: 

 

ftp> passive
Passive mode off.

ftp> passive (再次運行命令可打開)

Passive mode on. 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章