當前位置:首頁 » 文件管理 » 文件傳輸ftp的主要過程

文件傳輸ftp的主要過程

發布時間: 2023-03-02 08:31:33

A. 文件傳輸協議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,數據傳輸進程 數據鏈接用來傳輸文件

B. 簡述FTP的工作原理

FTP有兩個過程:控制連接數據連接

控制連接用於傳送請求;而數據連接用於傳輸文件

  • FTP的工作原理:

    FTP協議不像HTTP協議一樣需要一個埠作為連接(默認時HTTP埠是80,FTP埠是21)。FTP協議需要兩個埠:

    一個埠是作為控制連接埠,也就是FTP的21埠,用於發送傳送請求給伺服器的控制進程以及等待伺服器響應(控制連接並不用來傳送文件)

    另外一個埠用於數據傳輸埠,埠號為20(僅用PORT模式),是用建立數據傳輸通道的,主要作用是從客戶向伺服器發送一個文件,從伺服器向客戶發送一個文件,從伺服器向客戶發送文件或目錄列表,用來連接客戶端和伺服器端的數據傳送進程。

    數據傳送進程實際完成文件的傳送,在傳送完畢後關閉「數據傳送連接」並結束運行。

C. 文件傳送協議ftp的主要工作過程怎麼樣

• FTP使用客戶伺服器方式。一個FTP伺服器進程可同時為多個客戶進程提供服務。
• FTP的伺服器進程由兩大部分組成:一個主進程,負責接受新的請求;另外有若干個從屬進程,負責處理單個請求。
• 主進程的工作步驟:
• (1)打開熟知埠(埠號為21),使客戶進程能夠連接上。
• (2)等待客戶進程發出連接請求。
• (3)啟動從屬進程來處理客戶進程發來的請求。從屬進程對客戶進程的請求處理完畢後即終止,但從屬進程在運行期間根據需要還可能創建其他一些子進程
• (4)回到等待狀態,繼續接受其他客戶進程發來的請求。主進程與從屬進程的處理是並發的進行的。
• FTP使用兩個TCP連接。
• 控制連接在整個會話期間一直保持打開,FTP客戶發出的傳送請求通過控制連接發送給伺服器端的控制進程,但控制連接不用來傳送文件。
• 實際用於傳輸文件的是「數據連接」。伺服器端的控制進程在接收到FTP客戶發送來的文件傳輸請求後就創建「數據傳輸進程」和「數據連接」,用來連接客戶端和伺服器端的數據傳送進程。
• 數據傳送進程實際完成文件的傳送,在傳送完畢後關閉「數據傳輸連接」並結束運行。

D. 簡述文件傳輸協議FTP的工作原理及一般使用步驟。

1、FTP支持兩種模式,一種方式叫做Standard (也就是 PORT方式,主動方式),一種是 Passive(也就是PASV,被動方式)。 Standard模式 FTP的客戶端發送 PORT 命令到FTP伺服器。Passive模式FTP的客戶端發送 PASV命令到 FTP Server。
下面介紹一個這兩種方式的工作原理:
Port
FTP 客戶端首先和FTP伺服器的TCP 21埠建立連接,通過這個通道發送命令,客戶端需要接收數據的時候在這個通道上發送PORT命令。 PORT命令包含了客戶端用什麼埠接收數據。在傳送數據的時候,伺服器端通過自己的TCP 20埠連接至客戶端的指定埠發送數據。 FTP server必須和客戶端建立一個新的連接用來傳送數據。
Passive
在建立控制通道的時候和Standard模式類似,但建立連接後發送的不是Port命令,而是Pasv命令。FTP伺服器收到Pasv命令後,隨機打開一個高端埠(埠號大於1024)並且通知客戶端在這個埠上傳送數據的請求,客戶端連接FTP伺服器此埠,然後FTP伺服器將通過這個埠進行數據的傳送,這個時候FTP server不再需要建立一個新的和客戶端之間的連接。
很多防火牆在設置的時候都是不允許接受外部發起的連接的,所以許多位於防火牆後或內網的FTP伺服器不支持PASV模式,因為客戶端無法穿過防火牆打開FTP伺服器的高端埠;而許多內網的客戶端不能用PORT模式登陸FTP伺服器,因為從伺服器的TCP 20無法和內部網路的客戶端建立一個新的連接,造成無法工作。

2、使用步驟
(1)FTP伺服器運行FTPd守護進程,等待用戶的FTP請求。

(2)用戶運行FTP命令,請求FTP伺服器為其服務。

例:FTP 202.119.2.197

(3)FTPd守護進程收到用戶的FTP請求後,派生出子進程FTP與用戶進程FTP交互,建立文件傳輸控制連接,使用TCP埠21。

(4)用戶輸入FTP子命令,伺服器接收子命令,如果命令正確,雙方各派生一個數據傳輸進程FTP-DATA,建立數據連接,使用TCP埠20,進行數據傳輸。

(5)本次子命令的數據傳輸完,拆除數據連接,結束FTP-DATA進程。

(6)用戶繼續輸入FTP子命令,重復(4)、(5)的過程,直至用戶輸入quit命令,雙方拆除控制連接,結束文件傳輸,結束FTP進程。

E. FTP文件傳輸原理

在遇到了一個wireshark數據包分析題之後,看到了ftp的相關信息,但是沒找到相關的flag信息,請教了大佬的解釋,才知道ftp文件傳輸並不是在21埠,ftp文件傳輸有主動和被動兩種方式,

被動(PASV)模式:

PASV(被動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條控制連接。當需要傳送數據時,伺服器在命令鏈路上用PASV命令告訴客戶端:「我打開了XXXX埠,你過來連接我」。於是客戶端向伺服器的XXXX埠發送連接請求,建立一條數據鏈路來傳送數據。

伺服器控制埠(21),伺服器端等待的數據傳輸埠(動態申請)

ftp伺服器動態申請一個埠(一般大於1024)然後告訴客戶端,我在這個埠上等待你的連接,客戶端收到以後便向伺服器的這個埠發起連接,數據連接建立以後,數據傳輸就可以開始了

埠計算方法:172,16,101,104,7,254,256*7+254=2046

一次完整的被動連接及數據傳輸過程:

狀態: 正在連接 172.16.101.104:21...

狀態: 連接建立,等待歡迎消息...

響應: 220 Serv-U FTP Server v6.4 for WinSock ready...

命令: USER test

響應: 331 User name okay, need password.

命令: PASS ****

響應: 230 User logged in, proceed.

狀態: 已連接

狀態: 讀取目錄列表...

命令: PWD

響應: 257 "/" is current directory.

狀態: 列出目錄成功

狀態: 正在連接 172.16.101.104:21...

狀態: 連接建立,等待歡迎消息...

響應: 220 Serv-U FTP Server v6.4 for WinSock ready...

命令: USER test

響應: 331 User name okay, need password.

命令: PASS ****

響應: 230 User logged in, proceed.

狀態: 已連接

狀態: 開始上傳 E:\Downloads\liugong\liugong\404.htm

命令: CWD /

響應: 250 Directory changed to /

命令: TYPE A

響應: 200 Type set to A.

命令: PASV

響應: 227 Entering Passive Mode (172,16,101,104,8,86)

命令: STOR 404.htm

響應: 150 Opening ASCII mode data connection for 404.htm.

響應: 226 Transfer complete.

狀態: 文件傳輸成功,傳輸了 2,052 位元組 (用時1 秒)

狀態: 讀取目錄列表...

命令: TYPE I

響應: 200 Type set to I.

命令: PASV

響應: 227 Entering Passive Mode (172,16,101,104,8,88)

命令: MLSD

響應: 150 Opening BINARY mode data connection for MLSD.

響應: 226 Transfer complete.

狀態: 列出目錄成功

主動(PORT)模式:

PORT(主動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條控制連接。當需要傳送數據時,客戶端在命令鏈路上用PORT命令告訴伺服器:「我打開了XXXX埠,你過來連接我」。於是伺服器從20埠向客戶端的XXXX埠發送連接請求,建立一條數據鏈路來傳送數據。

一次完整的主動連接及數據傳輸過程:

狀態: 正在連接 172.16.101.104:21...

狀態: 連接建立,等待歡迎消息...

響應: 220 Serv-U FTP Server v6.4 for WinSock ready...

命令: USER test

響應: 331 User name okay, need password.

命令: PASS ****

響應: 230 User logged in, proceed.

狀態: 已連接

狀態: 開始上傳 E:\Downloads\liugong\liugong\404.htm

命令: CWD /

響應: 250 Directory changed to /

命令: TYPE A

響應: 200 Type set to A.

命令: PORT 172,16,101,104,8,76

響應: 200 PORT Command successful.

命令: STOR 404.htm

響應: 150 Opening ASCII mode data connection for 404.htm.

響應: 226 Transfer complete.

狀態: 文件傳輸成功,傳輸了 2,052 位元組 (用時1 秒)

狀態: 讀取目錄列表...

命令: TYPE I

響應: 200 Type set to I.

命令: PORT 172,16,101,104,8,77

響應: 200 PORT Command successful.

命令: MLSD

響應: 150 Opening BINARY mode data connection for MLSD.

響應: 226 Transfer complete.

狀態: 列出目錄成功

再回來說這一題,看到

計算埠為 4*256+17=1041

埠過濾,追蹤tcp流

F. FTP的主要工作過程是怎樣的主進程和從屬進程各起什麼作用

(1)FTP 使用客戶伺服器方式。一個FTP 伺服器進程可同時為多個客戶進程提供服
務。
FTP 的伺服器進程由兩大部分組成:一個主進程,負責接受新的請求;另外有若干
個從屬進程,負責處理單個請求。
主進程的工作步驟:
1、打開熟知埠(埠號為21),使客戶進程能夠連接上。
2、等待客戶進程發出連接請求。
3、啟動從屬進程來處理客戶進程發來的請求。從屬進程對客戶進程的請求處理完畢
後即終止,但從屬進程在運行期間根據需要還可能創建其他一些子進程。
4、回到等待狀態,繼續接受其他客戶進程發來的請求。主進程與從屬進程的處理是
並發地進行。
(2)作用:控制連接在整個會話期間一直保持打開,FTP 客戶發出的傳送請求通過控制連接發
送給伺服器端的控制進程,但控制連接不用來傳送文件。
實際用於傳輸文件的是「數據連接」。伺服器端的控制進程在接收到FTP 客戶發送來
的文件傳輸請求後就創建「數據傳送進程」和「數據連接」,用來連接客戶端和伺服器端
的數據傳送進程。
數據傳送進程實際完成文件的傳送,在傳送完畢後關閉「數據傳送連接」並結束運行。

熱點內容
c語言大學教程第六版 發布:2025-05-19 16:04:21 瀏覽:740
androidvr播放器 發布:2025-05-19 15:55:32 瀏覽:964
我的世界pc如何創建伺服器 發布:2025-05-19 15:51:24 瀏覽:733
搶腳本 發布:2025-05-19 15:47:14 瀏覽:406
ct4哪個配置性價比最高 發布:2025-05-19 15:38:02 瀏覽:953
如何設置強緩存的失效時間 發布:2025-05-19 15:21:28 瀏覽:695
winxp無法訪問 發布:2025-05-19 15:19:48 瀏覽:947
文件預編譯 發布:2025-05-19 15:14:04 瀏覽:643
怎麼在伺服器上掛公網 發布:2025-05-19 15:14:02 瀏覽:272
濟南平安e通如何找回密碼 發布:2025-05-19 14:56:58 瀏覽:176