A. FTP服務的工作原理是什麼
什麼是FTP呢?FTP 是 TCP/IP 協議組中的協議之一,是英文File Transfer Protocol的縮寫。該協議是Internet文件傳送的基礎,它由一系列規格說明文檔組成,目標是提高文件的共享性,提供非直接使用遠程計算機,使存儲介質對用戶透明和可靠高效地傳送數據。簡單的說,FTP就是完成兩台計算機之間的拷貝,從遠程計算機拷貝文件至自己的計算機上,稱之為「下載(download)」文件。若將文件從自己計算機中拷貝至遠程計算機上,則稱之為「上載(upload)」文件。在TCP/IP協議中,FTP標准命令TCP埠號為21,Port方式數據埠為20。FTP協議的任務是從一台計算機將文件傳送到另一台計算機,它與這兩台計算機所處的位置、聯接的方式、甚至是是否使用相同的操作系統無關。假設兩台計算機通過ftp協議對話,並且能訪問Internet, 你可以用ftp命令來傳輸文件。每種操作系統使用上有某一些細微差別,但是每種協議基本的命令結構是相同的。
FTP的傳輸有兩種方式:ASCII傳輸模式和二進制數據傳輸模式。
1.ASCII傳輸方式:假定用戶正在拷貝的文件包含的簡單ASCII碼文本,如果在遠程機器上運行的不是UNIX,當文件傳輸時ftp通常會自動地調整文件的內容以便於把文件解釋成另外那台計算機存儲文本文件的格式。
但是常常有這樣的情況,用戶正在傳輸的文件包含的不是文本文件,它們可能是程序,資料庫,字處理文件或者壓縮文件(盡管字處理文件包含的大部分是文本,其中也包含有指示頁尺寸,字型檔等信息的非列印字元)。在拷貝任何非文本文件之前,用binary 命令告訴ftp逐字拷貝,不要對這些文件進行處理,這也是下面要講的二進制傳輸。
2.二進制傳輸模式:在二進制傳輸中,保存文件的位序,以便原始和拷貝的是逐位一一對應的。即使目的地機器上包含位序列的文件是沒意義的。例如,macintosh以二進制方式傳送可執行文件到Windows系統,在對方系統上,此文件不能執行。
如果你在ASCII方式下傳輸二進制文件,即使不需要也仍會轉譯。這會使傳輸稍微變慢 ,也會損壞數據,使文件變得不能用。(在大多數計算機上,ASCII方式一般假設每一字元的第一有效位無意義,因為ASCII字元組合不使用它。如果你傳輸二進制文件,所有的位都是重要的。)如果你知道這兩台機器是同樣的,則二進制方式對文本文件和數據文件都是有效的。
5. FTP的工作方式
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無法和內部網路的客戶端建立一個新的連接,造成無法工作。
B. 簡述FTP的工作原理
FTP的工作原理:FTP 採用 Internet 標准文件傳輸協議 FTP 的用戶界面, 向用戶提供了一組用來管理計算機之間文件傳輸的應用程序。
開發任何基於 FTP 的客戶端軟體都必須遵循 FTP 的工作原理,FTP 的獨特的優勢同時也是與其它客戶伺服器程序最大的不同點就在於它在兩台通信的主機之間使用了兩條 TCP 連接,一條是數據連接,用於數據傳送;
另一條是控制連接,用於傳送控制信息(命令和響應),這種將命令和數據分開傳送的思想大大提高了 FTP 的效率,而其它客戶伺服器應用程序只有一條 TCP 連接。
(2)ftp14n50c原理擴展閱讀:
FTP 的目標是提高文件的共享性,提供非直接使用遠程計算機,使存儲介質對用戶透明和可靠高效地傳送數據。它能操作任何類型的文件而不需要進一步處理,就像MIME或Unicode一樣。
但是,FTP有著極高的延時,這意味著,從開始請求到第一次接收需求數據之間的時間,會非常長;並且不時的必須執行一些冗長的登錄進程。
FTP 在網際網路網路上歷史是最悠久的網路工具,從 1971 年由 A KBHUSHAN 提出第一個 FTP 的RFC(RFC114),FTP 憑借其獨特的優勢一直都是網際網路中最重要、最廣泛的服務之一。
C. FTP文件傳輸概念、工作原理
FTP是英語FILE TRANSFER PROTOCOL的簡稱,中文意為"文件傳送協議,用於在電腦和電腦之間傳送文件,有了這個協議,文件的傳輸就可以不受不同的電腦,不同的操作系統,甚至不同文件格式的限制,傳輸文件的一般步驟如下:
1在本地電腦上登陸到國際互聯網,
2搜索有文件共享主機或者個人電腦(一般有專門的FTP伺服器網站上公布的,上面有進入該主機或個人電腦的名稱,口令和路徑)
3當與遠程主機或者對方的個人電腦建立連接後,用對方提供的用戶名和口令登陸到該主機或對方的個人電腦.
4在遠程主機或對方的個人電腦登陸成功後,就可以上傳你想跟別人分享的東東或者下載別人授權共享的東東(這里的東東是指能放到電腦里去又能在顯示屏上看到的東東)
5完成工作後關閉FTP下載軟體,切斷連接.
為了實現文件傳輸,用戶還要運行專門的文件傳輸程序,比如網際快車就有這方面的功能,其它還有很多專門的FTP傳輸軟體,各有各的特色.
D. 什麼是ftp伺服器,其主要工作原理是什麼
ftp是file
transfer
protocol(文件傳輸協議)的縮寫,用來在兩台計算機之間互相傳送文件。相比於http,ftp協議要復雜得多。復雜的原因,是因為ftp協議要用到兩個tcp連接,一個是命令鏈路,用來在ftp客戶端與伺服器之間傳遞命令;另一個是數據鏈路,用來上傳或下載數據。
ftp協議有兩種工作方式:port方式和pasv方式,中文意思為主動式和被動式。
port(主動)方式的連接過程是:客戶端向伺服器的ftp埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,客戶端在命令鏈路上用port命令告訴伺服器:「我打開了xxxx埠,你過來連接我」。於是伺服器從20埠向客戶端的xxxx埠發送連接請求,建立一條數據鏈路來傳送數據。
pasv(被動)方式的連接過程是:客戶端向伺服器的ftp埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,伺服器在命令鏈路上用pasv命令告訴客戶端:「我打開了xxxx埠,你過來連接我」。於是客戶端向伺服器的xxxx埠發送連接請求,建立一條數據鏈路來傳送數據。
E. 簡述FTP協議的工作原理,數據連接和控制連接,主動模式與被動模式
FTP是基於TCP的應用層上的協議,用於文件傳輸
客戶端通過發送命令和服務端進行通信,比如
客戶端發送「USER abc」,表示用戶名為abc
服務端返回"331 Password required for abc.",表示abc這個賬戶需要密碼
客戶端在請求服務端發送文件或者上傳文件時,有主動模式和被動模式的分別(詳細的可以查看網路的「FTP」詞條)
對於被動模式(PASV),服務端會給出一個埠號,讓客戶端去連接。這也是多數FTP客戶端的預設模式。
對於主動模式(PORT),客戶端必須給出一個埠號,服務端會通過它的20埠來連接客戶端給出的埠。
如果客戶處於路由器之後,那麼伺服器不能直接連接客戶,主動模式就會失效,只能採用被動模式;反之如果伺服器處於路由之後,則只能採用主動模式。
F. FTP原理與配置
FTP是用來傳送文件的協議。使用FTP實現遠程文件傳輸的同時,還可以保證數據傳輸的可靠性和高效性。
在企業網路中部署一台FTP伺服器,將網路設備配置為FTP客戶端,則可以使用FTP來備份或更新VRP文件和配置文件。 也可以把網路設備配置為FTP伺服器,將設備的日誌文件保存到某台主機上方便查看。
FTP傳輸數據時支持兩種傳輸模式:ASCII模式和二進制模式。
ASCII模式用於傳輸文本。 發送端的字元在發送前被轉換成ASCII碼格式之後進行傳輸,接收端收到之後再將其轉換成字元。 二進制模式常用於發送圖片文件和程序文件。 發送端在發送這些文件時無需轉換格式,即可傳輸。
使用FTP進行文件傳輸時,會使用兩個TCP連接。 第一個連接是FTP客戶端和FTP伺服器間的控制連接。 FTP伺服器開啟21號埠 ,等待FTP客戶端發送連接請求。
第二個連接是FTP客戶端和FTP伺服器間的數據連接。 伺服器使用TCP的20號埠 與客戶端建立數據連接。 通常情況下,伺服器主動建立或中斷數據連接。
執行 ftp server enable 命令使能FTP功能。
執行 set default ftp-directory 命令設置FTP用戶。
在配置FTP伺服器時,可以使用AAA為每個用戶分別配置登錄賬號和訪問許可權。
aaa 命令用來進入AAA視圖。
local-user user-name { access-limit max-number | ftpdirectory directory | idle-timeout minutes [ seconds ] | password cipher password [ opt ]| privilege level level | state {active | block } } *命令用來創建本地用戶,並配置本地用戶的各項參數。
ftp客戶端連接ftp伺服器
ftp命令用來不遠程FTP伺服器建立控制連接,並進入FTP客戶端視圖。
binary命令用來在設備作為FTP客戶端時設置文件傳輸方式為Binary模式,又稱二進制模式。預設情況下,文件傳輸方式為ASCII模式。get命令用來從遠程FTP伺服器下載文件並保存在本地。
G. 簡述FTP的工作原理
FTP有兩個過程:控制連接和數據連接。
控制連接用於傳送請求;而數據連接用於傳輸文件。
FTP的工作原理:
FTP協議不像HTTP協議一樣需要一個埠作為連接(默認時HTTP埠是80,FTP埠是21)。FTP協議需要兩個埠:
①一個埠是作為控制連接埠,也就是FTP的21埠,用於發送傳送請求給伺服器的控制進程以及等待伺服器響應(控制連接並不用來傳送文件);
②另外一個埠用於數據傳輸埠,埠號為20(僅用PORT模式),是用建立數據傳輸通道的,主要作用是從客戶向伺服器發送一個文件,從伺服器向客戶發送一個文件,從伺服器向客戶發送文件或目錄列表,用來連接客戶端和伺服器端的數據傳送進程。
數據傳送進程實際完成文件的傳送,在傳送完畢後關閉「數據傳送連接」並結束運行。
H. FTP的工作原理是怎樣的
FTP會話時包含了兩個通道,一個叫控制通道,一個叫數據通道。控制通道:控制通道是和FTP伺服器進行溝通的通道,連接FTP,發送FTP指令都是通過控制通道來完成的。數據通道:數據通道是和FTP伺服器進行文件傳輸或者列表的通道。FTP協議中,控制連接均有客戶端發起,而數據連接有兩種工作方式:PORT方式和PASV方式PORT模式(主動方式) FTP 客戶端首先和FTP Server的TCP 21埠建立連接,通過這個通道發送命令,客戶端需要接收數據的時候在這個通道上發送PORT命令。 PORT命令包含了客戶端用什麼埠(一個大於1024的埠)接收數據。在傳送數據的時候,伺服器端通過自己的TCP 20埠發送數據。 FTP server必須和客戶端建立一個新的連接用來傳送數據。PASV模式(被動方式) 在建立控制通道的時候和PORT模式類似,當客戶端通過這個通道發送PASV 命令的時候,FTP server打開一個位於1024和5000之間的隨機埠並且通知客戶端在這個埠上傳送數據的請求,然後FTP server 將通過這個埠進行數據的傳送,這個時候FTP server不再需要建立一個新的和客戶端之間的連接傳送數據。如果從C/S模型這個角度來說,PORT對於伺服器來說是OUTBOUND,而PASV模式對於伺服器是INBOUND,這一點請特別注意,尤其是在使用防火牆的企業里,這一點非常關鍵,如果設置錯了,那麼客戶將無法連接。參考: http://www.linuxdiyf.com/viewarticle.php?id=20118 →Nebula№☆ 2008-08-18 15:44 檢舉您覺得這個答案好不好?好(0)不好(0) 相關問題 FTP工作原理是怎樣的? FTP工作原理是什麼 ftp伺服器的工作原理其他答案拿下傳文件為例,當你啟動FTP從遠程計算機拷貝文件時,它向FTP伺服器提出拷貝文件的請求。啟動在遠程計算機的上的FTP伺服器程序,它響應你的請求把你指定的文件傳送到你的計算機中。 網站: http://www.skyhosting.com.cn 總想。。。 2008-08-18 15:41 檢舉上下傳 上頁,下頁. 2008-08-18 15:44 檢舉雖然我沒用過它,但大多數的lonux發行版本中都選用的是Washington University FTP,它是一個著名的FTP伺服器軟體,一般簡稱為wu-ftp. 它是一個很好的服委務軟體, 原理呀,網上有得查呀。下次我去看看有關那個的原理再告訴你吧。你自己也要去看看那方面有關的書呀, : 起做曖 2008-08-18 15:50 檢舉我來告訴你FTP伺服器工作流程: 建立Socket 偵聽 21 埠 收到連接請求後建立新埠與客戶端連接 繼續偵聽 21 埠 負責與客戶端連接的模塊要解釋處理大概10多條標準的FTP命令 根據不同命令為客戶返回不同的信息或做不同的事 關於這些標准FTP命令如 USER PASS REST PWD CWD PASV SIZE TYPE LIST RETR 等等的我不全知道 你要自己去查資料。拿下傳文件為例,當你啟動FTP從遠程計算機拷貝文件時,你事實上啟動了兩個程序:一個本地機上的FTP客戶程序:它向FTP伺服器提出拷貝文件的請求。另一個是啟動在遠程計算機的上的FTP伺服器程序,它響應你的請求把你指定的文件傳送到你的計算機中。FTP採用「客戶機/伺服器」方式,用戶端要在自己的本地計算機上安裝FTP客戶程序。FTP客戶程序有字元界面和圖形界面兩種。字元界面的FTP的命令復雜、繁多。圖形界面的FTP客戶程序,操作上要簡潔方便的多。
I. 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流
J. ftp伺服器的工作原理
FTP是File Transfer Protocol(文件傳輸協議)的縮寫,用來在兩台計算機之間互相傳送文件。相比於HTTP,FTP協議要復雜得多。復雜的原因,是因為FTP協議要用到兩個TCP連接,一個是命令鏈路,用來在FTP客戶端與伺服器之間傳遞命令;另一個是數據鏈路,用來上傳或下載數據。
FTP協議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。
PORT(主動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,客戶端在命令鏈路上用PORT命令告訴伺服器:「我打開了XXXX埠,你過來連接我」。於是伺服器從20埠向客戶端的XXXX埠發送連接請求,建立一條數據鏈路來傳送數據。
PASV(被動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,伺服器在命令鏈路上用PASV命令告訴客戶端:「我打開了XXXX埠,你過來連接我」。於是客戶端向伺服器的XXXX埠發送連接請求,建立一條數據鏈路來傳送數據。