日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FTP的主动传输模式(PORT Mode)及被动传输模式(Passive Mode)(PASV)(FTP客户端 client 服务端 server 通信原理)

發布時間:2025/3/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FTP的主动传输模式(PORT Mode)及被动传输模式(Passive Mode)(PASV)(FTP客户端 client 服务端 server 通信原理) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
ftp> ? passive passive enter passive transfer mode

文章目錄

    • FTP的特殊性
    • 主動傳輸模式和被動傳輸模式

FTP的特殊性

大多數的TCP服務是使用單個的連接,一般是客戶向服務器的一個周知端口發起連接,然后使用這個連接進行通訊。但是,FTP協議卻有所不同,它使用雙向的多個連接,而且使用的端口很難預計。一般,FTP連接包括:

  • 一個控制連接(control connection)
      這個連接用于傳遞客戶端的命令和服務器端對命令的響應。它使用服務器的21端口,生存期是整個FTP會話session時間。(就是從open ip[port]到close這段時間?)

  • 幾個數據連接(data connection) (數據連接隸屬于會話?)
      這些連接用于傳輸文件和其它數據,例如:目錄列表等。這種連接在需要數據傳輸時建立,而一旦數據傳輸完畢就關閉,每次使用的端口也不一定相同。而且,數據連接既可能是客戶端發起的,也可能是服務器端發起的。

  • 主動傳輸模式和被動傳輸模式

    在FTP協議中,控制連接使用周知端口21。相反,數據傳輸連接的目的端口通常實現無法知道。FTP協議使用一個標準的端口21作為ftp-data端口,但是這個端口只用于連接的源地址是服務器端的情況,在這個端口上根本就沒有監聽進程。FTP的數據連接和控制連接的方向一般是相反的,也就是說,是服務器向客戶端發起一個用于數據傳輸的連接。連接的端口是由服務器端和客戶端協商確定的。FTP協議的這個特征對ISA轉發以及防火墻和NAT的配置增加了很多困難。

    除此之外,還有另外一種FTP模式,叫做被動模式(passive mod)。在這種模式下,數據連接是由客戶程序發起的,和剛才討論過的模式(我們可以叫做主動模式)相反。是否采取被動模式取決于客戶程序,在ftp命令行中使用passive命令就可以關閉/打開被動模式。

    這兩種模式發起連接的方向截然相反,主動模式是從服務器端向客戶端發起連接;被動模式是客戶端向服務器端發起連接。

    PORT(主動)方式的連接過程是:客戶端向服務器的FTP端口(默認是21)發送連接請求,服務器接受連接,建立一條命令鏈路。當需要傳送數據時,客戶端在命令鏈路上用PORT命令告訴服務器:“我打開了***X端口,你過來連接我”。于是服務器從20端口向客戶端的***X端口發送連接請求,建立一條數據鏈路來傳送數據。

    PASV(被動)方式的連接過程是:客戶端向服務器的FTP端口(默認是21)發送連接請求,服務器接受連接,建立一條命令鏈路。當需要傳送數據時,服務器在命令鏈路上用PASV命令告訴客戶端:“我打開了***X端口,你過來連接我”。于是客戶端向服務器的***X端口發送連接請求,建立一條數據鏈路來傳送數據。 (我們arm ftp客戶端默認是被動模式)

    ftp> ls 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing.

    從上面可以看出,兩種方式的命令鏈路連接方法是一樣的,而數據鏈路的建立方法就完全不同。

    各客戶端默認連接方式說明:
    1、 IE瀏覽器訪問方式-------被動模式
    2、 Linux字符連接-----------被動模式
    3、 Windows字符連接-----主動模式
    IE更改FTP連接方式為主動方法:
    工具—Internet選項—高級—使用被動FTP(去掉勾選)-------OK
    Linux下更改ftp連接方式為主動:(默認是被動,貌似我們目前需要的就是被動)
    當ftp正常連接后輸入:passive 將passive 模式關閉即可。

    參考文章:FTP的主動模式(PORT Mode)及被動模式(Passive Mode)

    與50位技術專家面對面20年技術見證,附贈技術全景圖

    總結

    以上是生活随笔為你收集整理的FTP的主动传输模式(PORT Mode)及被动传输模式(Passive Mode)(PASV)(FTP客户端 client 服务端 server 通信原理)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。