編乙個簡單的FTP的伺服器端和客戶端,能通訊就可以,語言不限

2025-06-08 14:45:16 字數 2312 閱讀 9497

1樓:匿名使用者

ftp客戶端。

埠***isp nat閘道器。

埠***th伺服器。

埠21 <=th客戶端 <=使用者ftp伺服器。

埠21 ftp客戶端通過isp的nat閘道器、科邁truehost伺服器、truehost客戶端,連線使用者本機的ftp伺服器的21埠。

port 10,10,0,1,30,4 (即ip= 埠=30*256+4=7684)

當命令通過isp的nat閘道器的時候,nat閘道器判斷目的埠是21,並且是port命令,於是,修改命令裡的ip和埠,替換為自己的ip和埠,比如:

port 61,144,1,2,50,6 (即ip= 埠=50*256+6=12806)

使用者的ftp伺服器最終收到的是上面這個port命令。於是,ftp伺服器向這個ip和埠傳送連線請求,建立資料鏈路。

使用者ftp伺服器。

埠20 <=isp nat閘道器。

埠12806 <=ftp客戶端。

埠7684

但是,因為nat閘道器的公網ip只能接收外來的連線請求。就是說,:12806只能接收其他公網ip的連線請求,對於從nat內部(:

20)發起的連線請求,是無法建立連線的。為什麼?原物隱因很簡單,因為內網ip要訪問外網,必須要通過nat建立對映。

於是ftp資料鏈路無法建立。於是,使用者無法在自己的機器上通過21埠訪問自己的truehost ftp。

我們再銀耐來看看,如果ftp埠不是21,比如是22,會發生什麼情況呢?在ftp客戶端傳送port命令的時候,nat閘道器檢測到目標埠是22,因為支援port的 nat閘道器只監視目的埠是21的資料包,發現目的埠是22的資料包,不做任何處理,完全放行。於是ftp伺服器收到的port命令依然是port 10,10,0,1,30,4。

於是ftp伺服器向這個ip和埠傳送連線請求。

使用者ftp伺服器。

埠20 <=ftp客戶端。

埠7684

這種情況下命令鏈路就可以建立起來了。而且是等於本機連線本機,速度飛快。

綜上所述,內網使用者無法用port方式通過21埠訪問自己的truehost ftp伺服器。如果ftp埠不是21,則可以訪問,而且實際上是本機連線本機。

上面的文字,僅僅是為了說明一些原理,不影響鋒螞春實際使用。如果本機訪問本機,還要通過ftp的話,就有畫蛇添足之嫌了。

2樓:匿名使用者

ftp客戶端。

埠***isp nat閘道器。

埠***畝液 th服務芹巨集器。

埠21 <=th客戶嫌耐冊端 <=使用者ftp伺服器埠21

當ftp客戶端與ftp伺服器建立連線後,在資料傳輸前、中、後,ftp客戶端與伺服器建立的連線分別為什麼

3樓:網友

選擇b,因為在控制連線建立後,其一直保持活躍,直至最後斷開。

而資料連線只在資料傳輸時才連線。

專用ftp伺服器與匿名ftp伺服器的各自特點是什麼?

4樓:康識僧晴霞

internet上的ftp伺服器分為專用ftp伺服器和匿名ftp伺服器。專用ftp伺服器僅為特定使用者提供資源,使用者要想成為它的合法使用者,必須經過該伺服器管理員的允許,由管理員為使用者分配乙個使用者帳戶和密碼,然後使用者使用這個使用者帳戶和密碼訪問伺服器,否則將無法訪問。

ftp客戶端可以通過哪幾種方式連線ftp伺服器?

5樓:理睿彤緒立

主動連線。port

和被動連線。

pasv方式。

他們的區別就是在連線上伺服器之後建立資料通道的時候:

port模式是建立從伺服器高階口連到客戶端20埠資料連線。

pasv模式是建立客戶高階口連到伺服器返回的資料埠的資料連線。

port(主動)方式的連線過程是:客戶端向伺服器的ftp埠(預設是21)傳送連線請求,伺服器接受連線,建立一條命令鏈路。當需要傳送資料時,伺服器從20埠向客戶端的空閒埠傳送連線請求,建立一條資料鏈路來傳送資料。

pasv(被動)方式的連線過程是:客戶端向伺服器的ftp埠(預設是21)傳送連線請求,伺服器接受連線,建立一條命令鏈路。當需要傳送資料時,客戶端向伺服器的空閒埠傳送連線請求,建立一條資料鏈路來傳送資料。

ftp僅僅提供了建立在ipv4上進行資料通訊的能力,它基於網路位址是32位這一假設。但是,當ipv6出現以後,位址就比32位長許多了。原來對ftp進行的擴充套件在多協議環境中有時會失敗。

針對ipv6對ftp再次進行擴充套件,兩個ftp命令port和pasv通過擴充套件後,我們稱它們為eprt和epsv。

伺服器和客戶端的詳細意思,「伺服器端」與「客戶端」分別是什麼意思?

在網路上提供服務的叫做伺服器端 server 享受服務的叫做客戶端 client 比如網路遊戲,你玩的介面就是客戶端,伺服器就是伺服器端 你上網瀏覽網頁 你的機器就是客戶端,而提供網頁的就是伺服器端。網路上的服務一般都是要你裝了相應的客戶端程式才能享受到服務,比如上網瀏覽網頁要裝ie之類的瀏覽器 網...

網頁服務端與客戶端的區別,伺服器端和客戶端有什麼區別?

網頁的程式 是執行在伺服器端的。也就是.cs檔案。所以要有伺服器端的控制元件。不然怎麼執行?客戶端的控制元件和伺服器端的是對應的,伺服器端的頁面傳送給客戶端後,就解析成了 對應的html 就是客戶端 的控制元件。伺服器端控制元件是伺服器來解析的,客戶端控制元件是由瀏覽器解析的。比如你要在後臺對一個t...

svn伺服器和客戶端的區別是什麼

svn是subversion的簡bai稱,是一個開放源du 的版本控制系統,svn是代 zhi碼管 dao理的一個工具。它分為服內務器端和客戶端。服容務器端執行在某一臺伺服器或者電腦上。伺服器端通過配置檔案管理使用者名稱 密碼 的配置,以及他們對軟體專案目錄的訪問許可權配置。客戶端一般整合在 軟體開...