FTP服務的兩種工作模式:
•port方式(主動模式), 連接過程:客戶端向服務器的FTP端口(默認是21)發送連接請求,服務器接受連接,建立一條命令鏈路。當需要傳送數據時, 客戶端在命令鏈路上用PORT命令告訴服務器:“我打開了***X端口,你過來連接我”。於是服務器從20端口向客戶端的***X端口發送連接請求,建立一條數據鏈路來傳送數據。
•pasv方式 ( 被動模式 ), 連接過程:客戶端向服務器的FTP端口(默認是21)發送連接請求,服務器接受連接,建立一條命令鏈路。當需要傳送數據時, 服務器在命令鏈路上用PASV命令告訴客戶端:“我打開了***X端口,你過來連接我”。於是客戶端向服務器的***X端口發送連接請求,建立一條數據鏈 路來傳送數據。
由於服務器上的FTP進行TCP/IP篩選,僅允許特定的端口可以被客戶端連接,所以無法使用PASV方式。找到了原因,解決辦法也很簡單,只需要關閉客戶端的PASV方式,強制其用PORT方式訪問服務器即可。
客戶端登錄FTP服務器後,用passive命令關閉客戶端的PASV方式,如下:
代碼如下
ftp> passive
Passive mode off.
再次執行該命令就可以啟用PASV模式。