ftp協議有兩種工作方式:port方式和pasv方式,中文意思為主動式和被動式。
port(主動)方式的連線過程是:客戶端向伺服器的ftp埠(預設是21)傳送連線請求,伺服器接受連線,建立一條命令鏈路。當需要傳送資料時,客戶端在命令鏈路上用port命令告訴伺服器:「我開啟了***x埠,你過來連線我」。於是伺服器從20埠向客戶端的***x埠傳送連線請求,建立一條資料鏈路來傳送資料。
pasv(被動)方式的連線過程是:客戶端向伺服器的ftp埠(預設是21)傳送連線請求,伺服器接受連線,建立一條命令鏈路。當需要傳送資料時,伺服器在命令鏈路上用pasv命令告訴客戶端:「我開啟了***x埠,你過來連線我」。於是客戶端向伺服器的***x埠傳送連線請求,建立一條資料鏈路來傳送資料。
從上面可以看出,兩種方式的命令鏈路連線方法是一樣的,而資料鏈路的建立方法就完全不同。而ftp的複雜性就在於此。
使用ftp客戶端的注意事項
請注意:選擇用pasv方式還是port方式登入ftp伺服器,選擇權在ftp客戶端。
一、客戶端只有內網ip,沒有公網ip
從上面的ftp基礎知識可知,如果用port方式,因為客戶端沒有公網ip,ftp將無法連線客戶端建立資料鏈路。因此,在這種情況下,客戶端必須要用pasv方式,才能連線ftp伺服器。
二、客戶端有公網ip,但安裝了防火牆
如果用pasv方式登入ftp伺服器,因為建立資料鏈路的時候,是由客戶端向伺服器傳送連線請求,沒有問題。反過來,如果用port方式登入ftp伺服器,因為建立資料鏈路的時候,是由伺服器向客戶端傳送連線請求,此時連線請求會被防火牆攔截。如果要用port方式登入ftp伺服器,請在防火牆上開啟1024以上的高階埠。
三、常見的ftp客戶端軟體port方式與pasv方式的切換方法。
在大部分ftp客戶端的設定裡,常見到的字眼都是「pasv」或「被動模式」,極少見到「port」或「主動模式」等字眼。因為ftp的登入方式只有兩種:port和pasv,取消pasv方式,就意味著使用port方式。
FTP兩種傳輸模式小結
ftp是有兩種傳輸的模式的,主動模式和被動模式,之前一直沒怎麼去搞明白之,現在找了下資料,乙個完整的ftp檔案傳輸需要建立兩種型別的連線,一種為檔案傳輸下命令,稱為控制連線,另一種實現真正的檔案傳輸,稱為資料連線。ftp控制連線建立之後,即可開始傳輸檔案,傳輸檔案的連線稱為ftp資料連線。ftp資料...
FTP兩種傳輸模式小結
ftp是有兩種傳輸的模式的,主動模式和被動模式,之前一直沒怎麼去搞明白之,現在找了下資料,乙個完整的ftp檔案傳輸需要建立兩種型別的連線,一種為檔案傳輸下命令,稱為控制連線,另一種實現真正的檔案傳輸,稱為資料連線。ftp控制連線建立之後,即可開始傳輸檔案,傳輸檔案的連線稱為ftp資料連線。ftp資料...
FTP傳輸兩種方式
for ftpfile ff fsname 分析對方公司,估計是改變了傳輸方式,將ftp伺服器改為了linux後採用了二進位制上傳,因此出現了這種問題。ftp協議的任務是從一台計算機將檔案傳送到另一台計算機,它與這兩台計算機所處的位置 聯接的方式 甚至是是否使用相同的作業系統無關。假設兩台計算機通過...