Ⅰ 如何設置windows自帶的ftp使用被動模式上傳
主動式有利於伺服器端管理
但是可能會被客戶端防火牆攔截
被動式由於數據傳輸由客戶端發起出所有不會被客戶端防火牆攔截
但是不利於伺服器管理
使用windows
server搭建完畢
雙擊FTP防火牆
填寫埠和IP即可
例如填寫5000-5100,即為允許100個被動連接(此時可能為灰色需要開通防火牆)
如果埠位置為灰色,需執行以下命令添加防火牆策略
允許ftp
netsh
advfirewall
firewall
add
rule
name="FTP
Service"
action=allow
service=ftpsvc
protocol=TCP
dir=in
netsh
advfirewall
firewall
set
global
StatefulFTP
disable
添加完畢再看埠可以輸入數值
輸入數值
和外部連接的IP地址
點擊應用
此時再次使用被動式連接
即可成功連接
按:
測試發現關閉防火牆無效,填寫被動式埠依然為灰色.
必須添加2條命令
Ⅱ FTP主動模式和被動模式!
FTP(File Transfer Protocol,文件傳輸協議) 是 TCP/IP 協議組中的協議之一。FTP協議包括兩個組成部分,其一為FTP伺服器,其二為FTP客戶端。其中FTP伺服器用來存儲文件,用戶可以使用FTP客戶端通過FTP協議訪問位於FTP伺服器上的資源。在開發網站的時候,通常利用FTP協議把網頁或程序傳到Web伺服器上。此外,由於FTP傳輸效率非常高,在網路上傳輸大的文件時,一般也採用該協議。
默認情況下FTP協議使用TCP埠中的 20 和 21 這兩個埠,其中20用於傳輸數據,21用於傳輸控制信息。但是,是否使用20作為傳輸數據的埠與FTP使用的傳輸模式有關,如果採用主動模式,那麼數據傳輸埠就是20;如果採用被動模式,則具體最終使用哪個埠要伺服器端和客戶端協商決定。
FTP支持兩種模式,它在工作運行時也主要是這兩種模式,一種模式叫作Standard也被稱為PORT方式和 主動方式 ,另一種模式叫作Passive也叫作PASV, 被動方式 。Standard模式FTP的客戶端發出PORT命令到伺服器,Passive模式FTP的客戶端發送PASV命令到FTP Server中,從而保證文件相互傳輸正常。
我們使用華為的模擬器Ensp來做一個小實驗。
FTP三次握手有兩次,第一次的TCP三次握手是控制層的握手,第二次是數據層的TCP三次握手
(1)伺服器打開埠 21,等待連接;
(2)客戶端(100.1.12.1)發起控制連接的建立請求,伺服器響應連接,控制連接建立,使用TCP 三次握手(第一次TCP三次握手);
隨機埠的計算
可以看到PORT為 10,0,0,2,8,6
隨機埠計算為: 8*256+6=2054
(3)客戶端通過控制連接發送 PORT 命令(在應用層數據中帶有自己的 ip 地址和臨時埠),將客戶端數據連接的臨時埠號告訴伺服器
(4)伺服器的 20 號埠與客戶端建立起數據連接,使用TCP 三次握手(第二次TCP三次握手);
點擊登出後控制埠斷開連接
FTP三次握手有兩次,第一次的TCP三次握手是控制層的握手,第二次是數據層的TCP三次握手
(1)伺服器打開埠 21,等待連接
(2)客戶端發起控制連接的建立請求,伺服器響應連接,控制連接建立,使用TCP 三次握手(第一次TCP三次握手);
(3)客戶端通過控制連接發送命令字 PASV,告知伺服器處於被動模式;
(4)伺服器回應,將伺服器數據連接的臨時埠號(2060)告訴客戶端;
(5)客戶端與伺服器的臨時埠建立起數據連接,使用TCP 三次握手(第二次TCP三次握手);
Ⅲ Linux裡面FTP主被動模式區別是什麼
題主你好,
首先要說的是FTP的通信是由兩部分組成的: 發送命令 + 傳輸數據.
換種說法就是: 發送命令 與 傳輸數據 是走的兩條道(不同的tcp連接).
發送命令 這條道方向是固定的, 總是由客戶端向服務端發起請求把這條道鋪起來.
而 傳輸數據 這條道方向就不是固定的了, 可能與 發送命令 一樣, 也是由客戶端向服務端發起請求, 還可能是反向的,即由服務端向客戶端發起請求來鋪起傳輸數據的這條道.
而題主的問題里所說的FTP主動被模式其實指的就是 傳輸數據 這條道的鋪設到底是 誰向誰發起請求? 這里的主被動是根據 服務端 來說的, 即 服務端主動向客戶端發起的就是所謂的主動模式, 反之, 客戶端向服務端發起的(服務端被連接),即是被動模式
最後再說下區別: 一開始的ftp只有主動模式,即服務端主動向客戶端發請求建立連接,然後利用建立的這個連接進行數據傳輸. 但後來客戶端這邊的防火牆很多時候為了安全考慮只相信自己向外發送的請求, 不相信外面連進來的請求,會把從外向內的請求給截斷,說白了就是數據傳輸這條道沒建成, 數據肯定就傳輸不了的. 所以後來又開發了被動模式,讓客戶端主動向服務端發請求建立連接, 這樣防火牆一看是從自己家主動發出去的,就不會攔截,這樣路鋪好了, 數據自然能成功傳輸了.
寫在最後: 希望可以幫到題主, 歡迎追問.
Ⅳ 使用被動ftp模式需要關掉嗎
使用被動ftp模式不需要關掉。在被動方式FTP中,命令連接和數據連接都由客戶端,這樣就可以解決從伺服器到客戶端的數據埠的入方向連接被防火牆。
ftp的工作原理
FTP 採用 Internet 標准文件傳輸協議 FTP 的用戶界面, 向用戶提供了一組用來管理計算機之間文件傳輸的應用程序。FTP 是基於客戶模型而設計的,在客戶端與 FTP 伺服器之間建立兩個連接。開發任何基於 FTP 的客戶端軟體都必須遵循 FTP 的工作原理。
FTP 的獨特的優勢同時也是與其它客戶伺服器程序最大的不同點就在於它在兩台通信的主機之間使用了兩條 TCP 連接,一條是數據連接,用於數據傳送;另一條是控制連接,用於傳送控制信息命令和響應。
這種將命令和數據分開傳送的思想大大提高了 FTP 的效率,而其它客戶伺服器應用程序一般只有一條 TCP 連接。圖 1 給出了 FTP 的基本模型。客戶有三個構件:用戶介面、客戶控制進程和客戶數據傳送進程。
Ⅳ 大白話解釋一下「被動FTP模式」是什麼意思
為了解決伺服器發起到客戶的連接的問題,另一種不同的ftp連接模式出現了。這就是所謂
的被動模式,或者叫做pasv,當客戶端通知伺服器它處於被動模式時才啟用。
Ⅵ ftp的兩種傳輸模式簡述
當FTP工作在主動模式下時,客戶端首先發起連接請求,與伺服器的21號埠建立控制連接,連接成功後,客戶端方藉此發送命令。若客戶端需要傳輸數據,客戶端會通過已建立的連接通道向伺服器發送信息,告知伺服器客戶端中接收數據的埠,之後伺服器則通過20號埠連接到客戶端指定的埠並傳送數據,在主動模式下,控制連接的發起方是FTP客戶機,而數據連接的發起方為FTP伺服器。
當FTP工作在被動模式下時,客戶端首先發起連接請求,與伺服器的21號埠建立控制連接。之後仍由客戶端發送信息,請求與伺服器建立數據連接,伺服器接收到此請求後,會隨機打開一個高端埠(埠號一般大於1024),並將該埠號告知客戶端,此時客戶端與伺服器的該埠再建立數據連接,通過該通道進行數據傳遞。在被動模式下,控制連接和數據連接的發起方都為客戶機。關於FTP的知識,可以到黑馬程序員學習,這些知識免費學哦!