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