當前位置:首頁 » 文件管理 » ftp客戶端的設計和服務

ftp客戶端的設計和服務

發布時間: 2022-07-06 03:52:44

① 簡述ftp服務的工作原理,並設計一個使用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無法和內部網路的客戶端建立一個新的連接,造成無法工作。

簡單上傳下載實例(/*....*/為注釋):

先假設有一FTP伺服器,FTP伺服器:qint.ithot.net,用戶名:username 密碼:user1234。在本地電腦D:盤創建一個文件夾"qint"。將要上傳的文件復制到d:\qint里。通過FTP命令將文件從本地上傳,從伺服器下載的步驟如下:

1.「開始」-「運行」-輸入「FTP」

2.open qint.ithot.net
/*這一步可以與第一步合並,在「運行」里直接輸入"ftp qint.ithot.net"。如果你的FTP伺服器不是用的21默認埠,假如埠是2121,那麼此步的命令應在後面空格加2121,即「open qint.ithot.net 2121」*/

3.username
/*提示你輸入用戶名*/

4.user1234
/*提示你輸入密碼,密碼不回顯,打完密碼後回車即可。如果你的密碼輸入錯誤,將不會提示你重新輸入,這時你要鍵入「user」命令,將會出現第三步,你可以重新輸入用戶名和密碼。*/

5.dir
/*你成功登陸後就可以用dir查看命令查看FTP伺服器中的文件及目錄,用ls命令只可以查看文件。*/

6.mkdir qint
/*在FTP伺服器上根目錄下建立qint目錄。*/

7.cd qint
/*進入目錄qint,用「cd 你的目錄名」可以進入當前目錄的下一級目錄,這跟DOS一樣。*/

8.bin
/*採用二進制傳輸。如果你要上傳下載,這一步很重要,不先執行這個命令,上傳下載會很慢。*/

9.lcd d:\qint
/*定位本地默認文件夾,在前面我事先在D:盤創建的。*/

10.!dir
/*查看本地文件夾中的文件及目錄*/

11.put i001.jpg
/*將當前目錄(d:\qint)中的文件i001.jpg上傳到FTP伺服器默認目錄。可以用"mput *.*"將所有文件上傳到FTP伺服器上。*/

12.get d123.jpg
/*將FTP伺服器默認目錄中的文件d123.jpg下載到當前目錄下(d:\qint)。可以用"mget *.*"將所有文件下載到d:\qint*/

13.delete *.*
/*刪除目錄qint中的所有文件。*/

14.cd ..
/*返回至上一級目錄,即根目錄。返回上一級目錄用「cd ..」要注意,中間有空格。返回根目錄用「cd \」。*/

15.mrdir qint
/*刪除目錄qint。刪除目錄,在此目錄下不能有文件及目錄,不然將無法刪除。*/

16.bye
/*退出FTP伺服器*/

上傳下載時特別要注意伺服器及本地電腦的當前目錄,文件是從哪裡到哪裡的問題。查看FTP伺服器的當前目錄命令為pwd,可以用cd命令定位伺服器的目錄。可以用lcd命令定位本地電腦的目錄。以上實例應用到了採用FTP命令行方式上傳下載的最常用命令,你還可以用命令「?」查看更多的命令。

② 基於linux的小型遠程FTP服務系統的設計

太多了 沒時間看 得工作 時間不允許 哥們還是自己寫吧

③ 誰能解釋一下FTP客戶端和服務端到底是干什麼用的

客戶端是用來連接伺服器的,當你想把文件上傳到伺服器時,你先得用客戶端連接到服務務端,然後上傳。

④ FTP是什麼軟體有啥作用啊

FTP是文件傳輸協議,是用於在網路上進行文件傳輸的一套標准協議。

它工作在 OSI 模型的第七層, TCP 模型的第四層, 即應用層, 使用 TCP 傳輸而不是 UDP, 客戶在和伺服器建立連接前要經過一個「三次握手」的過程, 保證客戶與伺服器之間的連接是可靠的, 而且是面向連接, 為數據傳輸提供可靠保證。

工作原理:

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

FTP 是基於客戶———伺服器(C/S)模型而設計的,在客戶端與 FTP 伺服器之間建立兩個連接。一條是數據連接,用於數據傳送;另一條是控制連接,用於傳送控制信息(命令和響應)。

客戶有三個構件:用戶介面、客戶控制進程和客戶數據傳送進程。伺服器有兩個構件:伺服器控制進程和伺服器數據傳送進程。在整個交互的 FTP 會話中,控制連接始終是處於連接狀態的,數據連接則在每一次文件傳送時先打開後關閉。

(4)ftp客戶端的設計和服務擴展閱讀:

FTP的傳輸方式

1、ASCII傳輸方式

假定用戶正在拷貝的文件包含的簡單ASCII碼文本,如果在遠程機器上運行的不是UNIX,當文件傳輸時ftp通常會自動地調整文件的內容以便於把文件解釋成另外那台計算機存儲文本文件的格式。

但是常常有這樣的情況,用戶正在傳輸的文件包含的不是文本文件,它們可能是程序,資料庫,字處理文件或者壓縮文件。在拷貝任何非文本文件之前,用binary 命令告訴ftp逐字拷貝。

2、二進制傳輸模式

在二進制傳輸中,保存文件的位序,以便原始和拷貝的是逐位一一對應的。即使目的地機器上包含位序列的文件是沒意義的。例如,macintosh以二進制方式傳送可執行文件到Windows系統,在對方系統上,此文件不能執行。

如在ASCII方式下傳輸二進制文件,即使不需要也仍會轉譯。這會損壞數據。(ASCII方式一般假設每一字元的第一有效位無意義,因為ASCII字元組合不使用它。如果傳輸二進制文件,所有的位都是重要的。)

⑤ 什麼是FTPFTP有哪些功能

FTP(File Transfer Protocol)是 Internet
上用來傳送文件的協議(文件傳輸協議)。它是為了我們能夠在
Internet 上互相傳送文件而制定的的文件傳送標准,規定了
Internet 上文件如何傳送。也就是說,通過 FTP
協議,我們就可以跟 Internet 上的 FTP
伺服器進行文件的上傳(Upload)或下載(Download)等動作。
對於虛擬主機用戶來說,FTP主要是用於將用戶的網站上傳至虛擬主機或者將網頁從主機上下載至本地。

⑥ 什麼是FTP服務其主要功能是什麼

文件傳輸協議FTP [ File Transfer Protocol ]使得主機間可以共享文件。 FTP 使用TCP 生成一個虛擬連接用於控制信息,然後再生成一個單獨的 TCP 連接用於數據傳輸。

控制連接使用類似TELNET協議在主機間交換命令和消息。文件傳輸協議是TCP/IP網路上兩台計算機傳送文件的協議,FTP是在TCP/IP網路和INTERNET上最早使用的協議之一,它屬於網路協議組的應用層。

FTP客戶機可以給伺服器發出命令來下載文件,上傳文件,創建或改變伺服器上的目錄。

⑦ FTP客戶端程序設計--畢業論文

最簡單就是用windows自帶的iis裡面的ftp伺服器。

⑧ FTP伺服器是什麼和FTP客戶端又是什麼

FTP:File
Transfer
Protocol,文件傳輸協議,所謂的伺服器就是你保存文件的機器,客戶端就是你上傳或者從伺服器上下載文件所用的機器

⑨ FTP服務的工作機制

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埠發送連接請求,建立一條數據鏈路來傳送數據。 從上面可以看出,兩種方式的命令鏈路連接方法是一樣的,而數據鏈路的建立方法就完全不同。而FTP的復雜性就在於此。

FTP伺服器端的注意事項

一、FTP伺服器是公網IP,用公網動態域名;或是內網IP,用內網專業版TrueHost

1、伺服器如果安裝了防火牆,請記住要在防火牆上打開FTP埠(默認是21)。

2、所有FTP伺服器軟體都支持PORT方式。至於PASV方式,大部分FTP伺服器軟體都支持。支持PASV方式的FTP伺服器軟體,也可以設置為只工作在PORT方式上。

3、為了PASV方式能正常工作,需要在FTP伺服器軟體上為PASV方式指定可用的埠范圍(設置方法)。此外,還要在伺服器的防火牆上打開這些埠。當客戶端以PASV方式連接伺服器的時候,伺服器就會在這個埠范圍里挑選一個埠出來,給客戶端連接。

二、FTP伺服器是內網IP,用內網動態域名標准版cmxnatproxy

這種情況下,FTP伺服器不需要做特殊設置,只要支持PASV方式就可以了。大部分FTP伺服器軟體都支持PASV方式。

FTP客戶端的注意事項

請注意:選擇用PASV方式還是PORT方式登錄FTP伺服器,選擇權在FTP客戶端,而不是在FTP伺服器。

一、客戶端只有內網IP,沒有公網IP

從上面的FTP基礎知識可知,如果用PORT方式,因為客戶端沒有公網IP,FTP將無法連接客戶端建立數據鏈路。因此,在這種情況下,客戶端必須要用PASV方式,才能連接FTP伺服器。大部分FTP站長發現自己的伺服器有人能登錄上,有人登錄不上,典型的錯誤原因就是因為客戶端沒有公網IP,但用了IE作為FTP客戶端來登錄(IE默認使用PORT方式)。

作為FTP站長,有必要掌握FTP的基礎知識,然後指導您的朋友如何正確登錄您的FTP。

二、客戶端有公網IP,但安裝了防火牆

如果用PASV方式登錄FTP伺服器,因為建立數據鏈路的時候,是由客戶端向伺服器發送連接請求,沒有問題。反過來,如果用PORT方式登錄FTP伺服器,因為建立數據鏈路的時候,是由伺服器向客戶端發送連接請求,此時連接請求會被防火牆攔截。如果要用PORT方式登錄FTP伺服器,請在防火牆上打開1024以上的高端埠。

⑩ 對FTP的理解(分客戶端和伺服器端)

FTP(File Transfer Protocol)是文件傳輸協議的簡稱。
FTP的作用
正如其名所示:FTP的主要作用,就是讓用戶連接上一個遠程計算機(這些計算機上運行著FTP伺服器程序)察看遠程計算機有哪些文件,然後把文件從遠程計算機上拷到本地計算機,或把本地計算機的文件送到遠程計算機去。
FTP工作原理
拿下傳文件為例,當你啟動FTP從遠程計算機拷貝文件時,你事實上啟動了兩個程序:一個本地機上的FTP客戶程序:它向FTP伺服器提出拷貝文件的請求。另一個是啟動在遠程計算機的上的FTP伺服器程序,它響應你的請求把你指定的文件傳送到你的計算機中。FTP採用「客戶機/伺服器」方式,用戶端要在自己的本地計算機上安裝FTP客戶程序。FTP客戶程序有字元界面和圖形界面兩種。字元界面的FTP的命令復雜、繁多。圖形界面的FTP客戶程序,操作上要簡潔方便的多。
簡單地說,支持FTP協議的伺服器就是FTP伺服器,下面介紹一下什麼是FTP協議(文件傳輸協議)
一般來說,用戶聯網的首要目的就是實現信息共享,文件傳輸是信息共享非常重要的一個內容之一。Internet上早期實現傳輸文件,並不是一件容易的事,我們知道 Internet是一個非常復雜的計算機環境,有PC,有工作站,有MAC,有大型機,據統計連接在Internet上的計算機已有上千萬台,而這些計算機可能運行不同的操作系統,有運行Unix的伺服器,也有運行Dos、Windows的PC機和運行MacOS的蘋果機等等,而各種操作系統之間的文件交流問題,需要建立一個統一的文件傳輸協議,這就是所謂的FTP。基於不同的操作系統有不同的FTP應用程序,而所有這些應用程序都遵守同一種協議,這樣用戶就可以把自己的文件傳送給別人,或者從其它的用戶環境中獲得文件。
與大多數Internet服務一樣,FTP也是一個客戶機/伺服器系統。用戶通過一個支持FTP協議的客戶機程序,連接到在遠程主機上的FTP伺服器程序。用戶通過客戶機程序向伺服器程序發出命令,伺服器程序執行用戶所發出的命令,並將執行的結果返回到客戶機。比如說,用戶發出一條命令,要求伺服器向用戶傳送某一個文件的一份拷貝,伺服器會響應這條命令,將指定文件送至用戶的機器上。客戶機程序代表用戶接收到這個文件,將其存放在用戶目錄中。
在FTP的使用當中,用戶經常遇到兩個概念:"下載"(Download)和"上載"(Upload)。"下載"文件就是從遠程主機拷貝文件至自己的計算機上;"上載"文件就是將文件從自己的計算機中拷貝至遠程主機上。用Internet語言來說,用戶可通過客戶機程序向(從)遠程主機上載(下載)文件。
使用FTP時必須首先登錄,在遠程主機上獲得相應的許可權以後,方可上載或下載文件。也就是說,要想同哪一台計算機傳送文件,就必須具有哪一台計算機的適當授權。換言之,除非有用戶ID和口令,否則便無法傳送文件。這種情況違背了Internet的開放性,Internet上的FTP主機何止千萬,不可能要求每個用戶在每一台主機上都擁有帳號。匿名FTP就是為解決這個問題而產生的。
匿名FTP是這樣一種機制,用戶可通過它連接到遠程主機上,並從其下載文件,而無需成為其注冊用戶。系統管理員建立了一個特殊的用戶ID,名為anonymous, Internet上的任何人在任何地方都可使用該用戶ID。
通過FTP程序連接匿名FTP主機的方式同連接普通FTP主機的方式差不多,只是在要求提供用戶標識ID時必須輸入anonymous,該用戶ID的口令可以是任意的字元串。習慣上,用自己的E-mail地址作為口令,使系統維護程序能夠記錄下來誰在存取這些文件。
值得注意的是,匿名FTP不適用於所有Internet主機,它只適用於那些提供了這項服務的主機。
當遠程主機提供匿名FTP服務時,會指定某些目錄向公眾開放,允許匿名存取。系統中的其餘目錄則處於隱匿狀態。作為一種安全措施,大多數匿名FTP主機都允許用戶從其下載文件,而不允許用戶向其上載文件,也就是說,用戶可將匿名FTP主機上的所有文件全部拷貝到自己的機器上,但不能將自己機器上的任何一個文件拷貝至匿名FTP主機上。即使有些匿名FTP主機確實允許用戶上載文件,用戶也只能將文件上載至某一指定上載目錄中。隨後,系統管理員會去檢查這些文件,他會將這些文件移至另一個公共下載目錄中,供其他用戶下載,利用這種方式,遠程主機的用戶得到了保護,避免了有人上載有問題的文件,如帶病毒的文件。
作為一個Internet用戶,可通過FTP在任何兩台Internet主機之間拷貝文件。但是,實際上大多數人只有一個Internet帳戶,FTP主要用於下載公共文件,例如共享軟體、各公司技術支持文件等。 Internet上有成千上萬台匿名FTP主機,這些主機上存放著數不清的文件,供用戶免費拷貝。實際上,幾乎所有類型的信息,所有類型的計算機程序都可以在Internet上找到。這是Internet吸引我們的重要原因之一。
匿名FTP使用戶有機會存取到世界上最大的信息庫,這個信息庫是日積月累起來的,並且還在不斷增長,永不關閉,涉及到幾乎所有主題。而且,這一切是免費的。
匿名FTP是Internet網上發布軟體的常用方法。Internet之所以能延續到今天,是因為人們使用通過標准協議提供標准服務的程序。像這樣的程序,有許多就是通過匿名FTP發布的,任何人都可以存取它們。
Internet中的有數目巨大的匿名FTP主機以及更多的文件,那麼到底怎樣才能知道某一特定文件位於哪個匿名FTP主機上的那個目錄中呢?這正是Archie伺服器所要完成的工作。Archie將自動在FTP主機中進行搜索,構造一個包含全部文件目錄信息的資料庫,使你可以直接找到所需文件的位置信息。

熱點內容
壓縮皇冠 發布:2025-01-16 01:51:27 瀏覽:274
全鍵盤編程鍵盤 發布:2025-01-16 01:38:59 瀏覽:422
尾貨棉服直播間腳本 發布:2025-01-16 01:21:45 瀏覽:228
vb編程步驟 發布:2025-01-16 01:11:58 瀏覽:202
bb霜解壓 發布:2025-01-16 01:11:11 瀏覽:597
編程懟人 發布:2025-01-16 00:53:08 瀏覽:761
建立共享伺服器地址 發布:2025-01-16 00:26:40 瀏覽:565
android開機動畫修改 發布:2025-01-16 00:26:26 瀏覽:872
怎麼解壓pc版游戲 發布:2025-01-16 00:16:32 瀏覽:122
v9更新到91有方舟編譯器嗎 發布:2025-01-16 00:11:49 瀏覽:500