立即注冊(cè) 找回密碼

QQ登錄

只需一步,快速開始

FTP主動(dòng)模式與被動(dòng)模式

2015-3-1 08:56| 發(fā)布者: 學(xué)習(xí)NO.1| 查看: 525| 評(píng)論: 0|原作者: 學(xué)習(xí)NO.1

摘要: 最近FTP的項(xiàng)目做得比較深入,也就進(jìn)一步把FTP主動(dòng)和被動(dòng)模式熟悉一下,需要知道的事,F(xiàn)TP是基于TCP服務(wù)的,不支持UDP。FTP,F(xiàn)ile Transfer Protocol,文件傳輸協(xié)議,一般人了解FTP,是通過他的一些相關(guān)客戶端如CuteFT ...
最近FTP的項(xiàng)目做得比較深入,也就進(jìn)一步把FTP主動(dòng)和被動(dòng)模式熟悉一下,需要知道的事,F(xiàn)TP是基于TCP服務(wù)的,不支持UDP。FTP,F(xiàn)ile Transfer Protocol,文件傳輸協(xié)議,一般人了解FTP,是通過他的一些相關(guān)客戶端如CuteFTP(大學(xué)時(shí)常用),Fillzilla,WinSCP等。

一般這些軟件默認(rèn)FTP連接模式為PASV,被動(dòng)連接。即FTP客戶端向服務(wù)端口(默認(rèn)是21)發(fā)出連接請(qǐng)求,服務(wù)端接到請(qǐng)求后建立命令鏈路。然后服務(wù)端通過命令鏈路發(fā)消息告訴客戶端,服務(wù)端XXXX端口,位于(1025—65535)之間,開放,與客戶端建立起數(shù)據(jù)鏈路,從而客戶端可以進(jìn)行數(shù)據(jù)上傳與下載。這個(gè)被動(dòng)指的是客戶端被動(dòng)收到服務(wù)端的消息,才能開始傳輸。一般這樣的話,可能會(huì)收到服務(wù)端防火墻的阻隔。

而主動(dòng)模式,PORT,即FTP客戶端向服務(wù)端口(默認(rèn)是21)發(fā)出連接請(qǐng)求,服務(wù)端接到請(qǐng)求后建立命令鏈路,這個(gè)過程與被動(dòng)連接一樣。然后客戶端通過命令鏈路發(fā)消息告訴服務(wù)端,客戶端一般是20端口開放,服務(wù)端收到消息后連接該端口,建立起數(shù)據(jù)鏈路,從而進(jìn)行數(shù)據(jù)的上傳下載。這個(gè)主動(dòng)是指客戶端主動(dòng)開放20端口,并發(fā)起與服務(wù)端建立數(shù)據(jù)傳輸?shù)恼?qǐng)求。這種模式,可能受限于客戶端防火墻的限制,另外也不能用與代理上網(wǎng)時(shí)的FTP服務(wù),因?yàn)榉⻊?wù)端收到客戶端請(qǐng)求后,他連接的代理服務(wù)器的端口。


主動(dòng)模式(PORT)和被動(dòng)模式(PASV)。主動(dòng)模式是從服務(wù)器端向客戶端發(fā)起連接;被動(dòng)模式是客戶端向服務(wù)器端發(fā)起連接。兩者的共同點(diǎn)是都使用21端口進(jìn)行用戶驗(yàn)證及管理,差別在于傳送數(shù)據(jù)的方式不同,PORT模式的FTP服務(wù)器數(shù)據(jù)端口固定在20,而PASV模式則在1025-65535之間隨機(jī)

專業(yè)介紹如下:
主動(dòng)FTP對(duì)FTP服務(wù)器的管理有利,但對(duì)客戶端的管理不利。因?yàn)镕TP服務(wù)器企圖與客戶端的高位隨機(jī)端口建立連接,而這個(gè)端口很有可能被客戶端的防火墻阻塞掉。被動(dòng)FTP對(duì)FTP客戶端的管理有利,但對(duì)服務(wù)器端的管理不利。因?yàn)榭蛻舳艘c服務(wù)器端建立兩個(gè)連接,其中一個(gè)連到一個(gè)高位隨機(jī)端口,而這個(gè)端口很有可能被服務(wù)器端的防火墻阻塞掉。

幸運(yùn)的是,有折衷的辦法。既然FTP服務(wù)器的管理員需要他們的服務(wù)器有最多的客戶連接,那么必須得支持被動(dòng)FTP。我們可以通過為FTP服務(wù)器指定一個(gè)有 限的端口范圍來減小服務(wù)器高位端口的暴露。這樣,不在這個(gè)范圍的任何端口會(huì)被服務(wù)器的防火墻阻塞。雖然這沒有消除所有針對(duì)服務(wù)器的危險(xiǎn),但它大大減少了危 險(xiǎn)。

簡(jiǎn)而言之:

主動(dòng)模式(PORT)和被動(dòng)模式(PASV)。主動(dòng)模式是從服務(wù)器端向客戶端發(fā)起連接;被動(dòng)模式是客戶端向服務(wù)器端發(fā)起連接。兩者的共同點(diǎn)是都使用21端口進(jìn)行用戶驗(yàn)證及管理,差別在于傳送數(shù)據(jù)的方式不同,PORT模式的FTP服務(wù)器數(shù)據(jù)端口固定在20,而PASV模式則在1025-65535之間隨機(jī)


FTP主動(dòng)模式與被動(dòng)模式的解決與原理

FTP是File Transfer Protocol(文件傳輸協(xié)議)的縮寫,用來在兩臺(tái)計(jì)算機(jī)之間互相傳送文件。相比于HTTP,F(xiàn)TP協(xié)議要復(fù)雜得多。復(fù)雜的原因,是因?yàn)镕TP協(xié)議要用到兩個(gè)TCP連接,一個(gè)是命令鏈路,用來在FTP客戶端與服務(wù)器之間傳遞命令;另一個(gè)是數(shù)據(jù)鏈路,用來上傳或下載數(shù)據(jù)。

FTP協(xié)議有兩種工作方式:PORT方式和PASV方式,中文意思為主動(dòng)式和被動(dòng)式。

PORT(主動(dòng))方式的連接過程是:客戶端向服務(wù)器的FTP端口(默認(rèn)是21)發(fā)送連接請(qǐng)求,服務(wù)器接受連接,建立一條命令鏈路。當(dāng)需要傳送數(shù)據(jù)時(shí),客戶端在命令鏈路上用PORT命令告訴服務(wù)器:“我打開了XXXX端口,你過來連接我”。于是服務(wù)器從20端口向客戶端的XXXX端口發(fā)送連接請(qǐng)求,建立一條數(shù)據(jù)鏈路來傳送數(shù)據(jù)。

PASV(被動(dòng))方式的連接過程是:客戶端向服務(wù)器的FTP端口(默認(rèn)是21)發(fā)送連接請(qǐng)求,服務(wù)器接受連接,建立一條命令鏈路。當(dāng)需要傳送數(shù)據(jù)時(shí),服務(wù)器在命令鏈路上用PASV命令告訴客戶端:“我打開了XXXX端口,你過來連接我”。于是客戶端向服務(wù)器的XXXX端口發(fā)送連接請(qǐng)求,建立一條數(shù)據(jù)鏈路來傳送數(shù)據(jù)。

概括:
--------------------------------------------------------------------------------
主動(dòng)模式:服務(wù)器向客戶端敲門,然后客戶端開門
被動(dòng)模式:客戶端向服務(wù)器敲門,然后服務(wù)器開門
所以,如果你是如果通過代理上網(wǎng)的話,就不能用主動(dòng)模式,因?yàn)榉⻊?wù)器敲的是上網(wǎng)代理服務(wù)器的門,而不是敲客戶端的門
而且有時(shí)候,客戶端也不是輕易就開門的,因?yàn)橛蟹阑饓ψ钃,除非客戶端開放大于1024的高端端口

--------------------------------------------------------------------------------


要用主動(dòng)模式來下載,請(qǐng)您把下載工具的被動(dòng)模式(PASV)都不要打勾,用主動(dòng)模式來下載就OK了,如果在出錯(cuò),那就被動(dòng)主動(dòng)相互轉(zhuǎn)換一下

常見的FTP客戶端軟件的PASV方式的關(guān)閉方法

大部分FTP客戶端默認(rèn)使用PASV方式,PASV模式的意式是被動(dòng)模式。 在大部分FTP客戶端的設(shè)置里,常見到的字眼都是“PASV”或“被動(dòng)模式”。

IE: 工具 -> Internet選項(xiàng) -> 高級(jí) -> “使用被動(dòng)FTP”(需要IE6.0以上才支持)。

CuteFTP: Edit -> Setting -> Connection -> Firewall -> “PASV Mode”
或 File -> Site Manager,在左邊選中站點(diǎn) -> Edit -> “Use PASV mode”

FlashGet: 工具 -> 選項(xiàng) -> 代理服務(wù)器 -> 直接連接 -> 編輯 -> “PASV模式”

FlashFXP: 選項(xiàng) -> 參數(shù)選擇 -> 代理/防火墻/標(biāo)識(shí) -> “使用被動(dòng)模式”
或 站點(diǎn)管理 -> 對(duì)應(yīng)站點(diǎn) -> 選項(xiàng) -> “使用被動(dòng)模式”
或 快速連接 -> 切換 -> “使用被動(dòng)模式”
如下圖:
360截圖20150301085420724.jpg

LeapFTP: Option ->Preferences -> General->Proxy->Use Pasv Mode

從上面可以看出,兩種方式的命令鏈路連接方法是一樣的,而數(shù)據(jù)鏈路的建立方法就完全不同。而FTP的復(fù)雜性就在于此。






鮮花

握手

雷人

路過

雞蛋

最新評(píng)論

相關(guān)推薦
!jz_fbzt! !jz_lxwm! !jz_gfqqq!

關(guān)于我們|手機(jī)版|小黑屋|地圖|【道勤網(wǎng)】-bmrsportswear.com 軟件視頻自學(xué)教程|免費(fèi)教程|自學(xué)電腦|3D教程|平面教程|影視動(dòng)畫教程|辦公教程|機(jī)械設(shè)計(jì)教程|網(wǎng)站設(shè)計(jì)教程【道勤網(wǎng)】 ( 皖I(lǐng)CP備15000319號(hào)-1 )

GMT+8, 2024-10-23 21:39

Powered by DaoQin! X3.4 © 2016-2063 Dao Qin & 道勤科技

返回頂部