Ftp - 主被動模式說明及修改模式命令

襲冷發表於2018-02-28

一、關於連線

    FTP是僅基於TCP的服務,與眾不同的是FTP協議要用到兩個TCP連線,一個是控制鏈路,用來在客戶端與伺服器之間傳遞命令的;另一個是資料鏈路,用來上傳或下載資料的。


二、主被模式
    FTP協議有兩種工作方式:PORT模式和PASV模式,即主動模式和被動模式。

    主動方式的連線過程:

        客戶端從一個任意的非特權埠N(N>1024)向FTP伺服器的命令埠(預設是21)傳送請求,伺服器接受連線,建立一條命令鏈路。

        當需要傳送資料時,客戶端開始監聽埠N+1,並在命令鏈路上用PORT命令傳送N+1埠到FTP伺服器,於是伺服器會從自己的資料埠(20)向客戶端指定的資料埠(N+1)傳送連線請求,建立一條資料鏈路來傳送資料。

    被動方式的連線過程:

        客戶端從一個任意的非特權埠N(N>1024)向FTP伺服器的命令埠(預設是21)傳送請求,伺服器接受連線,建立一條命令鏈路。

        當需要傳送資料時,客戶端在命令鏈路上用PASV命令傳送。於是伺服器會開啟一個任意的非特權埠P(P>1024),並在命令鏈路上把埠傳送給客戶端,然後客戶端從自己的資料埠(N+1)向伺服器的資料埠(P)傳送連線請求,建立一條資料鏈路來傳送資料。

三、修改模式
    Windows Cmd下預設為主動模式,更改Ftp為被動的方法:

ftp> quote PASV
    Linux Ftp命令下預設為被動模式,更改為主動的方法:
ftp> passive

 



相關文章