當前位置:首頁 » 文件傳輸 » 主動模式下ftp的工作過程
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

主動模式下ftp的工作過程

發布時間: 2022-07-17 01:21:03

⑴ 文件傳輸協議ftp的主要工作過程是怎樣的

FTP(File Transfer Protocol,文件傳輸協議) 是 TCP/IP
協議組中的協議之一。FTP協議包括兩個組成部分,其一為FTP伺服器,其二為FTP客戶端。其中FTP伺服器用來存儲文件,用戶可以使用FTP客戶端通
過FTP協議訪問位於FTP伺服器上的資源。在開發網站的時候,通常利用FTP協議把網頁或程序傳到Web伺服器上。此外,由於FTP傳輸效率非常高,在
網路上傳輸大的文件時,一般也採用該協議。

FTP簡要工作過程。
1. 主進程
2.從屬進程
主進程工作步驟如下
a,打開熟知埠,使客戶進程能夠鏈接上
b,等待客戶進程發送鏈接請求
c,啟動從屬進程來處理客戶進程發來的請求,從屬進程在運行期間還會創建一些子程序
d,回到等待狀態
從屬進程包括
a,控制進程 不用來傳輸文件
b,數據傳輸進程 數據鏈接用來傳輸文件

⑵ 什麼是ftp主動模式和被動模式

一、什麼是主動FTP

主動模式的FTP工作原理:客戶端從一個任意的非特權埠N連接到FTP伺服器的命令埠,也就是21埠。然後客戶端開始監聽埠N+1,並發送FTP
命令「port N+1」到FTP伺服器。接著伺服器會從它自己的數據埠(20)連接到客戶端指定的數據埠(N+1)。
針對FTP伺服器前面的防火牆來說,必須允許以下通訊才能支持主動方式FTP:
1、 任何大於1024的埠到FTP伺服器的21埠。(客戶端初始化的連接)
2、 FTP伺服器的21埠到大於1024的埠。 (伺服器響應客戶端的控制埠)
3、 FTP伺服器的20埠到大於1024的埠。(伺服器端初始化數據連接到客戶端的數據埠)
4、 大於1024埠到FTP伺服器的20埠(客戶端發送ACK響應到伺服器的數據埠)
二、什麼是被動FTP
為了解決伺服器發起到客戶的連接的問題,人們開發了一種不同的FTP連接方式。這就是所謂的被動方式,或者叫做PASV,當客戶端通知伺服器它處於被動模式時才啟用。
在被動方式FTP中,命令連接和數據連接都由客戶端發起,這樣就可以解決從伺服器到客戶端的數據埠的入方向連接被防火牆過濾掉的問題。

當開啟一個 FTP連接時,客戶端打開兩個任意的非特權本地埠(N >
1024和N+1)。第一個埠連接伺服器的21埠,但與主動方式的FTP不同,客戶端不會提交PORT命令並允許伺服器來回連它的數據埠,而是提交
PASV命令。這樣做的結果是伺服器會開啟一個任意的非特權埠(P > 1024),並發送PORT
P命令給客戶端。然後客戶端發起從本地埠N+1到伺服器的埠P的連接用來傳送數據。
對於伺服器端的防火牆來說,必須允許下面的通訊才能支持被動方式的FTP:
1、 從任何大於1024的埠到伺服器的21埠(客戶端初始化的連接)
2、 伺服器的21埠到任何大於1024的埠(伺服器響應到客戶端的控制埠的連接)
3、 從任何大於1024埠到伺服器的大於1024埠(客戶端初始化數據連接到伺服器指定的任意埠)
4、 伺服器的大於1024埠到遠程的大於1024的埠(伺服器發送ACK響應和數據到客戶端的數據埠)
以上關於主動和被動FTP的解釋,可以簡單概括為以下兩點:
1、主動FTP:
命令連接:客戶端 >1024埠 -> 伺服器 21埠
數據連接:客戶端 >1024埠 <- 伺服器 20埠
2、被動FTP:
命令連接:客戶端 >1024埠 -> 伺服器 21埠
數據連接:客戶端 >1024埠 -> 伺服器 >1024埠

⑶ FTP伺服器的工作模式

FTP是僅基於TCP的服務,不支持UDP。與眾不同的是FTP使用2個埠,一個數據埠和一個命令埠(也可叫做控制埠)。通常來說這兩個埠是21(命令埠)和20(數據埠)。但FTP
工作方式的不同,數據埠並不總是20。這就是主動與被動FTP的最大不同之處。主要有兩種工作模式:
在主動模式下:FTP伺服器的控制埠是21,數據埠是20,所以在做靜態映射的時候只需要開放21埠即可,他會用20埠和客戶端主動的發起連接。
在被動模式下:FTP伺服器的控制埠是21,數據埠是隨機的,且是客戶端去連接對應的數據埠,所以在做靜態的映射話只開放21埠是不可以的。此時需要做DMZ。

⑷ 分析FTP 文件傳輸過程。

FTP有兩種使用模式:主動和被動。主動模式要求客戶端和伺服器端同時打開並且監聽一個埠以建立連接。在這種情況下,客戶端由於安裝了防火牆會產生一些問題。所以,創立了被動模式。被動模式只要求伺服器端產生一個監聽相應埠的進程,這樣就可以繞過客戶端安裝了防火牆的問題。 一個主動模式的FTP連接建立要遵循以下步驟: 1.客戶端打開一個隨機的埠(埠號大於1024,在這里,我們稱它為x),同時一個FTP進程連接至伺服器的21號命令埠。此時,源埠為隨機埠x,在客戶端,遠程埠為21,在伺服器。 2.客戶端開始監聽埠(x+1),同時向伺服器發送一個埠命令(通過伺服器的21號命令埠),此命令告訴伺服器客戶端正在監聽的埠號並且已准備好從此埠接收數據。這個埠就是我們所知的數據埠。 3.伺服器打開20號源埠並且建立和客戶端數據埠的連接。此時,源埠為20,遠程數據埠為(x+1)。 4.客戶端通過本地的數據埠建立一個和伺服器20號埠的連接,然後向伺服器發送一個應答,告訴伺服器它已經建立好了一個連接。

⑸ FTP服務的工作機制

FTP(File Tranfer Protocol) 文本傳輸協議,主要用於internet上文件的雙向傳輸,同時ftp也是一種應用程序。
一、特性
基於C/S 結構
雙通道協議:數據和命令連接
數據傳輸格式:二進制(默認)和文本格式
埠:基於tcp服務,數據埠(20)和控制埠(21)

二、模式支持
1、主動模式
主動模式FTP:(伺服器主動連接)客戶端從任意的一個非特權埠N,連接到FTP伺服器的命令埠,也就是21埠。讓後客戶端開始監聽埠N+1,並發送FTP命令「port
N+1」 到ftp伺服器。接著伺服器會從自己的數據埠(20)主動連接到客戶端指定的數據埠(N+1)
以上描述可以在實驗環境下查看
主要方法以上文中已有所描述,下面是在wondows上查看埠的命令
netstat -ant|findstr :21
針對FTP伺服器前面的防火牆雷說,必須允許以下通信才能支持主動方式FTP。
1、 允許任何大於1024的埠到FTP伺服器的21埠。 (客戶端初始化連接)
2、 允許FTP伺服器的21埠到大於1024的埠。(伺服器響應客戶端的控制埠)
3、 允許FTP伺服器的20埠到大於1024埠。(伺服器初始化數據連接到客戶端的數據埠)
4、 允許大於1024埠到ftp伺服器的20埠。(客戶端發送ack響應到伺服器的數據埠)

2、被動模式
為了解決伺服器發起到客戶端的連接問題,人們開發了一種不同的ftp連接方式。這就是所謂的被動方式,或成為PASV,當客戶端通知伺服器它處於被動模式時才啟用。
在被動模式ftp中,命令連接和數據連接由客戶端發起,這樣就可以解決從伺服器到客戶端的數據埠入方向連接被防火牆過濾掉的問題。
當開啟FTP連接時,客戶端打開兩個任意非特權本地埠N,N+1。第一個埠連接伺服器的21埠,但與主動模式的FTP不同,客戶端不會提交PORT命令並允許伺服器來回連它的數據埠,而是提交PASV命令。這樣做的結果是伺服器會開啟一個任意的非特權埠
P,並發送port P命令給客戶端。然後客戶端發起從本地埠N+1到伺服器的埠P的連接用來傳輸數據。

對於伺服器端的防火牆來說,必須允許下面的通訊才能只是被動方式的FTP:
1、 允許從任何大於1024的埠到伺服器的21埠(客戶端初始化連接)
2、 允許伺服器的21埠到任何大於1024的埠(伺服器響應到客戶端的控制埠的連接)
3、 從任何大於1024埠到伺服器的大於1024的埠(客戶端初始化數據連接到伺服器的指定埠)
4、 伺服器的大於1024埠到客戶端的大於1024 的埠(伺服器發送ack響應和數據到客戶端的數據埠。)

三、簡述解釋及抓包分析過程
1、主動模式
命令連接:客戶端任意大於1024埠 N —> 伺服器21埠
數據連接:伺服器20埠 -----> 客戶端 N埠。
2、被動模式
命令連接:客戶端任意大於1024埠N ------> 伺服器21埠
數據連接:客戶端任意大於1024埠N+1 --------> 伺服器埠P
伺服器被動模式數據埠示例:
227 Entering Passive Mode (172,16,0,1,239,20)
伺服器的數據埠為239*256+20=61204 伺服器埠P為61204

四、FTP連接響應碼
1XX:信息 125:數據連接打開
2XX:成功類狀態 200:命令OK 230:登錄成功
3XX:補充類 331:用戶名OK
4XX:客戶端錯誤 425:不能打開數據連接
5XX:伺服器錯誤 530:不能登錄

⑹ ftp伺服器的工作原理

FTP並不是應用於IP網路上的協議,而是ARPANEt網路中計算機間的文件傳輸協議, ARPANET是美國國防部組建的老網路,於1960-1980年使用。在那時, FTP的主要功能是在主機間高速可靠地傳輸文件。目前FTP仍然保持其可靠性,即使在今天,它還允許文件遠程存取。這使得用戶可以在某個系統上工作,而將文件存貯在別的系統。例如,如果某用戶運行Web伺服器,需要從遠程主機上取得HTML文件和CGI程序在本機上工作,他需要從遠程存儲站點獲取文件(遠程站點也需安裝Web伺服器)。當用戶完成工作後,可使用FTP將文件傳回到Web伺服器。採用這種方法,用戶無需使用Telnet登錄到遠程主機進行工作,這樣就使Web伺服器的更新工作變得如此的輕松。

FTP是TCP/IP的一種具體應用,它工作在OSI模型的第七層,TCP模型的第四層上,即應用層,使用TCP傳輸而不是UDP,這樣FTP客戶在和伺服器建立連接前就要經過一個被廣為熟知的"三次握手"的過程,它帶來的意義在於客戶與伺服器之間的連接是可靠的,而且是面向連接,為數據的傳輸提供了可靠的保證。

其次,FTP的連接模式有兩種,PORT和PASV。PORT模式是一個主動模式,PASV是被動模式,這里都是相對於伺服器而言的。為了讓大家清楚的認識這兩種模式,朗月繁星分別舉例說明。

PASV模式

然而,當FTP客戶以PASV模式連接伺服器時,情況就有些不同了。在初始化連接這個過程即連接伺服器這個過程和PORT模式是一樣的,不同的是,當FTP客戶發送ls、dir、get等這些要求數據返回的命令時,他不向伺服器發送PORT指令而是發送PASV指令,在這個指令中,用戶告訴伺服器自己要連接伺服器的某一個埠,如果這個伺服器上的這個埠是空閑的可用的,那麼伺服器會返回ACK的確認信息,之後數據傳輸通道被建立並返回用戶所要的信息(根據用戶發送的指令,如ls、dir、get等);如果伺服器的這個埠被另一個資源所使用,那麼伺服器返回UNACK的信息,那麼這時,FTP客戶會再次發送PASV命令,這也就是所謂的連接建立的協商過程。為了驗證這個過程我們不得不藉助CUTEFTP Pro這個大家經常使用的FTP客戶端軟體,因為微軟自帶的FTP命令客戶端,不支持PASV模式。雖然你可以使用QUOTE PASV這個命令強制使用PASV模式,但是當你用ls命令列出伺服器目錄列表,你會發現它還是使用PORT方式來連接伺服器的。現在我們使用CUTEFTP Pro以PASV模式連接伺服器
PORT模式

當FTP客戶以PORT模式連接伺服器時,他動態的選擇一個埠號(本次試驗是6015)連接伺服器的21埠,注意這個埠號一定是1024以上的,因為1024以前的埠都已經預先被定義好,被一些典型的服務使用,當然有的還沒使用,保留給以後會用到這些埠的資源服務。當經過TCP的三次握手後,連接(控制信道)被建立

⑺ 文件傳輸協議ftp的主要工作過程是怎樣的

FTP(File Transfer Protocol,文件傳輸協議) 是 TCP/IP 協議組中的協議之一。FTP協議包括兩個組成部分,其一為FTP伺服器,其二為FTP客戶端。其中FTP伺服器用來存儲文件,用戶可以使用FTP客戶端通過FTP協議訪問位於FTP伺服器上的資源。在開發網站的時候,通常利用FTP協議把網頁或程序傳到Web伺服器上。此外,由於FTP傳輸效率非常高,在網路上傳輸大的文件時,一般也採用該協議。
FTP簡要工作過程。1. 主進程2.從屬進程主進程工作步驟如下a,打開熟知埠,使客戶進程能夠鏈接上b,等待客戶進程發送鏈接請求c,啟動從屬進程來處理客戶進程發來的請求,從屬進程在運行期間還會創建一些子程序d,回到等待狀態 從屬進程包括a,控制進程 不用來傳輸文件b,數據傳輸進程 數據鏈接用來傳輸文件

⑻ 我們都知道FTP協議有兩種工作模式,說說它們的大概的一個工作流程

模式:主動模式(Active FTP)和被動模式(Passive FTP)
在主動模式下,FTP客戶端隨機開啟一個大於1024的埠N向伺服器的21號埠發起連接,然後開放N+1號埠進行監聽,並向伺服器發出PORT N+1命令。
伺服器接收到命令後,會用其本地的FTP數據埠(通常是20)來連接客戶端指定的埠N+1,進行數據傳輸。
在被動模式下,FTP客戶端隨機開啟一個大於1024的埠N向伺服器的21號埠發起連接,同時會開啟N+1號埠。然後向伺服器發送PASV命令,通 知伺服器自己處於被動模式。伺服器收到命令後,會開放一個大於1024的埠P進行監聽,然後用PORT P命令通知客戶端,自己的數據埠是P。客戶端收到命令後,會通過N+1號埠連接伺服器的埠P,然後在兩個埠之間進行數據傳輸。
總的來說,主動模式的FTP是指伺服器主動連接客戶端的數據埠,被動模式的FTP是指伺服器被動地等待客戶端連接自己的數據埠。
被動模式的FTP通常用在處於防火牆之後的FTP客戶訪問外界FTp伺服器的情況,因為在這種情況下,防火牆通常配置為不允許外界訪問防火牆之後主機,而只允許由防

⑼ 簡述FTP的工作原理

FTP的工作原理:FTP 採用 Internet 標准文件傳輸協議 FTP 的用戶界面, 向用戶提供了一組用來管理計算機之間文件傳輸的應用程序。

開發任何基於 FTP 的客戶端軟體都必須遵循 FTP 的工作原理,FTP 的獨特的優勢同時也是與其它客戶伺服器程序最大的不同點就在於它在兩台通信的主機之間使用了兩條 TCP 連接,一條是數據連接,用於數據傳送;

另一條是控制連接,用於傳送控制信息(命令和響應),這種將命令和數據分開傳送的思想大大提高了 FTP 的效率,而其它客戶伺服器應用程序只有一條 TCP 連接。

(9)主動模式下ftp的工作過程擴展閱讀:

FTP 的目標是提高文件的共享性,提供非直接使用遠程計算機,使存儲介質對用戶透明和可靠高效地傳送數據。它能操作任何類型的文件而不需要進一步處理,就像MIME或Unicode一樣。

但是,FTP有著極高的延時,這意味著,從開始請求到第一次接收需求數據之間的時間,會非常長;並且不時的必須執行一些冗長的登錄進程。

FTP 在網際網路網路上歷史是最悠久的網路工具,從 1971 年由 A KBHUSHAN 提出第一個 FTP 的RFC(RFC114),FTP 憑借其獨特的優勢一直都是網際網路中最重要、最廣泛的服務之一。

⑽ ftp主動模式

FTP協議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。 PORT(主動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請 求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,客戶端在命令鏈路上用PORT 命令告訴伺服器:「我打開了XXXX埠,你過來連接我」。於是伺服器從20埠向客戶端的 XXXX埠發送連接請求,建立一條數據鏈路來傳送數據。 PASV(被動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請 求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,伺服器在命令鏈路上用PASV 命令告訴客戶端:「我打開了XXXX埠,你過來連接我」。於是客戶端向伺服器的XXXX埠 發送連接請求,建立一條數據鏈路來傳送數據。 從上面可以看出,兩種方式的命令鏈路連接方法是一樣的,而數據鏈路的建立方法就完 全不同。而FTP的復雜性就在於此.
資料來源於網路知道。