PASV

PASV

FTP是File Transfer Protocol(文件傳輸協議)的縮寫,用來在兩台計算機之間互相傳送文件。

目錄

正文


簡介
FTP協議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。
相比於HTTP,FTP協議要複雜得多。複雜的原因,是因為FTP協議要用到兩個TCP連接,一個是命令鏈路,用來在FTP客戶端與伺服器之間傳遞命令;另一個是數據鏈路,用來上傳或下載數據。
PORT(主動)方式的連接過程是:伺服器開放一個埠,通知客戶端連接,服務端接受連接,建立一條命令鏈路。
當需要傳送數據時,客戶端在命令鏈路上用 PORT命令告訴伺服器:“我打開了一個1024+的隨機埠,你過來連接我”。於是伺服器從20埠向客戶端的1024+隨機埠發送連接請求,建立一條數據鏈路來傳送數據。
PASV(被動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。
當需要傳送數據時,伺服器在命令鏈路上用 PASV命令告訴客戶端:“我打開了一個1024+的隨機埠,你過來連接我”。於是客戶端向伺服器的1024+埠發送連接請求,建立一條數據鏈路來傳送數據。
從上面可以看出,兩種方式的命令鏈路連接方法是一樣的,而數據鏈路的建立方法就完全不同。而FTP的複雜性就在於此。