1. 通過FTP軟體的PASV模式,建立與伺服器的被動防火牆連接。。。。怎麼看不懂啊 教教我
FTP協議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。
PORT(主動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。
當需要傳送數據時,客戶端在命令鏈路上用 PORT命令告訴伺服器:「我打開了****埠,你過來連接我」。於是伺服器從20埠向客戶端的****埠發送連接請求,建立一條數據鏈路來傳送數據。
PASV(被動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。
當需要傳送數據時,伺服器在命令鏈路上用 PASV命令告訴客戶端:「我打開了****埠,你過來連接我」。於是客戶端向伺服器的****埠發送連接請求,建立一條數據鏈路來傳送數據。
從上面可以看出,兩種方式的命令鏈路連接方法是一樣的,而數據鏈路的建立方法就完全不同。而FTP的復雜性就在於此。
FTP伺服器端的注意事項
一、FTP伺服器是公網IP,用公網動態域名;或是內網IP,用內網專業版TrueHost
1、伺服器如果安裝了防火牆,請記住要在防火牆上打開FTP埠(默認是21)。
2、所有FTP伺服器軟體都支持PORT方式。至於PASV方式,大部分FTP伺服器軟體都支持。支持PASV方式的FTP伺服器軟體,也可以設置為只工作在PORT方式上。
3、為了PASV方式能正常工作,需要在FTP伺服器軟體上為PASV方式指定可用的埠范圍(設置方法)。此外,還要在伺服器的防火牆上打開這些埠。當客戶端以PASV方式連接伺服器的時候,伺服器就會在這個埠范圍里挑選一個埠出來,給客戶端連接。
二、FTP伺服器是內網IP,用內網動態域名標准版cm*natpro*y
這種情況下,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以上的高端埠。
三、連接用內網標准版cm*natpro*y搭建的FTP服務,必須要用PASV方式。連接任何公網FTP伺服器、或用內網專業版TrueHost搭建的FTP伺服器,PORT方式和PASV方式都可以使用。
當然,使用PORT方式的時候,還要滿足上面的兩個條件。
四、常見的FTP客戶端軟體PORT方式與PASV方式的切換方法。
大部分FTP客戶端默認使用PASV方式。IE默認使用PORT方式。
在大部分FTP客戶端的設置里,常見到的字眼都是「PASV」或「被動模式」,極少見到「PORT」或「主動模式」等字眼。因為FTP的登錄方式只有兩種:PORT和PASV,取消PASV方式,就意味著使用PORT方式。
IE:
工具 -> Internet選項 -> 高級 -> 「使用被動FTP」(需要IE6.0以上才支持)。
CuteFTP:
Edit -> Setting -> Connection -> Firewall -> 「PASV Mode」
或
File -> Site Manager,在左邊選中站點 -> Edit -> 「Use PASV mode」
FlashGet:
工具 -> 選項 -> 代理伺服器 -> 直接連接 -> 編輯 -> 「PASV模式」
FlashFTP:
選項 -> 參數選擇 -> 代理/防火牆/標識 -> 「使用被動模式」
或
站點管理 -> 對應站點 -> 選項 -> 「使用被動模式」
或
快速連接 -> 切換 -> 「使用被動模式」
LeechFTP:
Option -> Firewall -> Do not Use
五、請盡量不要用IE作為FTP客戶端
IE只是個很粗糙的FTP客戶端工具。首先,IE6.0以下的版本不支持PASV方式;其次,IE在登錄FTP的時候,看不到登錄信息。在登錄出錯的時候,無法找到錯誤的原因。在測試自己的FTP網站的時候,強烈建議不要使用IE。
FTP建站的詳細配置過程
請參考這個網頁的說明來配置:
使用Serv-U建立FTP網站
高級話題
一、為什麼沒有公網IP,也能使用PORT方式登錄FTP?
NAT 網關的工作方式是在TCP/IP數據包的包頭里找區域網的源地址和源埠,替換成網關的地址和埠。對數據包里的內容,是不會改變的。而使用PORT方式登錄FTP的時候,IP地址與埠信息是在數據包裡面的,而不是在包頭。因此,沒有公網IP,使用PORT方式是無法從internet上的ftp伺服器下載數據的。
但是,極少數的NAT網關也支持PORT方式。這些NAT網關連數據包裡面的內容都掃描,掃描到 PORT指令後會替換PORT方式的IP和埠。在這種NAT網關下面,用PORT方式就沒問題了。不過,這些網關也只掃描21埠的數據包,如果FTP 伺服器不是用默認的21埠,也無法使用PORT方式。
二、內網可以用PORT訪問其他FTP,為什麼不能用PORT訪問自己的TrueHost FTP?
下面要討論的問題,只是為了說明一些原理,是不影響實際使用的。如果您沒有興趣深究這些原理,不必花時間看。
內網用戶通過支持PORT方式的NAT網關,訪問自己本機利用TrueHost建立的FTP伺服器,FTP命令鏈路的建立過程如下:
FTP客戶端
10.10.0.1
埠*** <==> ISP NAT網關
61.144.1.2
埠**** <==> TH伺服器
*.*.*.*
埠21 <==> TH客戶端 <==> 用戶FTP伺服器
10.10.0.1
埠21
FTP客戶端通過ISP的NAT網關、科邁TrueHost伺服器、TrueHost客戶端,連接用戶本機的FTP伺服器的21埠。
當需要下載數據的時候,FTP客戶端通過這條命令鏈路,向FTP伺服器發送PORT命令。假設命令為:
PORT 10,10,0,1,30,4 (即IP=10.10.0.1 埠=30*256+4=7684)
當命令通過ISP的NAT網關的時候,NAT網關判斷目的埠是21,並且是PORT命令,於是,修改命令里的IP和埠,替換為自己的IP和埠,比如:
PORT 61,144,1,2,50,6 (即IP=61.144.1.2 埠=50*256+6=12806)
用戶的FTP伺服器最終收到的是上面這個PORT命令。於是,FTP伺服器向這個IP和埠發送連接請求,建立數據鏈路。
用戶FTP伺服器
10.10.0.1
埠20 <==> ISP NAT網關
61.144.1.2
埠12806 <==> FTP客戶端
10.10.0.1
埠7684
但是,因為NAT網關的公網IP只能接收外來的連接請求。就是說,61.144.1.2:12806隻能接收其他公網IP的連接請求,對於從NAT內部(10.10.0.1: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伺服器
10.10.0.1
埠20 <==> FTP客戶端
10.10.0.1
埠7684
這種情況下命令鏈路就可以建立起來了。而且是等於本機連接本機,速度飛快。
綜上所述,內網用戶無法用PORT方式通過21埠訪問自己的TrueHost FTP伺服器。如果FTP埠不是21,則可以訪問,而且實際上是本機連接本機。
2. FTP軟體使用中如何關閉PASV模式
FTP使用中PASV模式的操作方法
註:此方法只有在無法登錄和下載的情況下才可使用!!! 取消 pasv 模式的方法
有許多朋友的 FTP 伺服器是不支持 PASV 模式的,登入時要取
消 PASV 模式才行。現將幾種 FTP 下載工具的取消方法公布如
下:
1.把 flashget 的 pasv 模式關掉的方法
點菜單上的「工具」->「選項」->「代理伺服器」->
「直接連接」->編輯->把「 pasv 模式」前的勾勾去掉,
一路確定回來。
2.把 Cutftp 的 pasv 模式關掉的方法
點菜單上的「文件」->「站點管理」->在「站點管理器」窗口
->「新建站點」->填上「域名」->「編輯」->「常規」->
把「使用 pasv 模式」前的勾勾去掉。
3.把 FlashFXP 的 pasv 模式關掉的方法
點菜單上的「站點」->「站點管理器」->站點管理器窗口->
「新建站點」->填上「域名」->「選項」->把「使用被動模
式」前的勾勾去掉->「應用」 即可。
4.把 NetAnts 的 pasv 模式關掉的方法
點菜單上的"選項"->"參數設置"->"代理"->「直接連接」->編輯->把「 pasv 模式」前的勾勾去掉,一路確定回來。
相信大家都知道FTP是什麼啦,但我相還有很多人不知道什麼是PASV和PORT,或者你知道但不知道他們到底是什麼。
下面介紹一下這兩種模式吧:
PORT其實是Standard模式的另一個名字,又稱為Active模式。中文意思是「主動模式。
PASV也就是Passive的簡寫。中文就是「被動模式。
兩者之間有什麼不同:
不同之處是由於PORT這個方式需要在接上TCP 21埠後,伺服器通過自己的TCP 20來發出數據。並且需要建立一個新的連接來傳送檔案。而PORT的命令包含一些客戶端沒用的資料,所以有了PASv的出現。
而PASV模式就當然擁有PORT模式的優點及去掉一些PORT的缺點。PASV運行方式就是當伺服器接收到PASV命令時,就會自動從埠1024到5000中隨機選擇,而且還會使用同一個埠來傳送數據,不用建立新的連接
3. 如何關閉ftp的pasv模式
不同的FTP客戶端有不同的關法比如IE是IE→工具→Internet選項→高級「使用被動ftp 」前面去掉鉤告知FTP客戶端
4. FTP的PASV和PORT連接方式有什麼不同
一、什麼是PASV和PORT方式
(1)PORT其實是Standard模式的另一個名字,又稱為Active模式。中文意思是「主動模式。
(2)PASV也就是Passive的簡寫。中文就是「被動模式。
二、兩者不同
不同之處是由於PORT(主動)這個方式需要在接上TCP 21埠後,伺服器通過自己的TCP 20來發出數據。並且需要建立一個新的連接來傳送檔案。而PORT的命令包含一些客戶端沒用的資料,所以有了PASv的出現。而PASV模式擁有PORT模式的優點,並去掉一些PORT的缺點。PASV運行方式就是當伺服器接收到客戶端連接請求時,就會自動從埠1024到5000中隨機選擇一個和客戶端建立連接傳遞數據。由於被動且自動建立連接,容易受到攻擊,所以安全性差。
三、常見的FTP客戶端軟體PORT方式與PASV方式的切換方法
大部分FTP客戶端默認使用PASV方式。IE默認使用PORT方式。 在大部分FTP客戶端的設置里,常見到的字眼都是「PASV」或「被動模式」,極少見到「PORT」或「主動模式」等字眼。因為FTP的登錄方式只有兩種:PORT和PASV,取消PASV方式,就意味著使用PORT方式。
(1)IE:工具 -> Internet選項 -> 高級 -> 「使用被動FTP」(需要IE6.0以上才支持)。
(2)CuteFTP:Edit -> Setting -> Connection -> Firewall -> 「PASV Mode」 或File -> Site Manager,在左邊選中站點 -> Edit -> 「Use PASV mode」 。
(3)FlashGet:工具 -> 選項 -> 代理伺服器 -> 直接連接 -> 編輯 -> 「PASV模式」。
(4)FlashFXP:選項 -> 參數選擇 -> 代理/防火牆/標識 -> 「使用被動模式」 或 站點管理 -> 對應站點 -> 選項 -> 「使用被動模式」或快速連接 -> 切換 -> 「使用被動模式」。
5. 請問ftp中什麼是PASV模式
FTP的連接一般是有兩個連接的,一個是客戶程和伺服器傳輸命令的,另一個是數據傳送的連接。FTP服務程序一般會支持兩種不同的模式,一種是Port模式,一種是Passive模式(Pasv Mode),我先說說這兩種不同模式連接方式的分別。
先假設客戶端為C,服務端為S.
Port模式:
當客戶端C向服務端S連接後,使用的是Port模式,那麼客戶端C會發送一條命令告訴服務端S(客戶端C在本地打開了一個埠N在等著你進行數據連接),當服務端S收到這個Port命令後 就會向客戶端打開的那個埠N進行連接,這種數據連接就生成了。
Pasv模式:
當客戶端C向服務端S連接後,服務端S會發信息給客戶端C,這個信息是(服務端S在本地打開了一個埠M,你現在去連接我吧),當客戶端C收到這個信息後,就可以向服務端S的M埠進行連接,連接成功後,數據連接也建立了。
從上面的解釋中,大家可以看到兩種模式主要的不同是數據連接建立的不同,對於Port模式,是客戶端C在本地打開一個埠等服務端S去連接建立數據連接;而Pasv模式就是服務端S打開一個埠等待客戶端C去建立一個數據連接。
(缺圖)
從上圖中我們可以看出,路由上有兩個ip一個是內網ip(也就是你的網關地址)另外一個是外網IP,你所有LAN中的計算機
都是共享這個218.63.1.5訪問INTERNET的(中間通過了192.168.1.1這個網關),讓我們來看一個連接的詳細過程,以便您
更進一步了解為什麼需要設置成為PASV mode 傳送:
當您通過下載工具或使用瀏覽器下載影片的時候就開始連接FTP伺服器, 當FTP服務收到你的連接請求後發送應答信息給客戶並
開始等待用戶的認證信息,-->認證通過後開始建立數據連接 如果你不是設置成為pasv模式,那麼客戶段(下載工具)會在本地
計算機開一個數據埠,然後發送一條「命令」給FTP服務段,(我已打開了n埠你現在可以連接我),那麼FTP伺服器段就
開始連接你ip地址的N埠,(但是連接是失敗的) 因為你是通過192.168.1.1 這個網關(你的路由設備)訪問internet的
ftp服務段他實際上是同你的外網地址為218.63.1.5的路由設備連接,根本就連接不上你下載工具中打開的埠,例如你使用
的是 192.168.1.2 這個客戶機,FTP服務段此時無法同你計算機(192.168.1.2)監聽埠N連接上,所以此時你會看到伺服器
反饋的錯誤信息,提示你192.168.1.2打開的埠無法連接之類的, 信息此時你就需要把傳送模式設置成為PASV模式,
而如果你使用的是PASV模式那麼當你ftp通過認證後,客戶段首先向伺服器發送一條PASV命令,服務段接受到命令後打開一個
埠並告訴客戶段「我已打開了一個埠,你此時可以來連接了" 客戶段(下載工具)接受到信息後,就去連接服務段已經打開
了的埠,從而完成數據連接,所有ftp下載的數據流都將通過這個埠傳送
6. VSFTP如何開啟PASV模式
有iptables的情況下,要開啟pasv模式,是要作一些配置的。
/etc/vsftpd/vsftpd.conf
未尾添加:
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=40080
pasv_promiscuous=YES
/etc/sysconfig/iptables
加入:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 40000:40080 -j ACCEPT
重啟iptables & vsftpd,就可以使用pasv模式了。
7. 如何設置windows自帶的ftp使用被動模式上傳
主動式有利於伺服器端管理 但是可能會被客戶端防火牆攔截
被動式由於數據傳輸由客戶端發起出所有不會被客戶端防火牆攔截 但是不利於伺服器管理
使用windows server搭建完畢 雙擊FTP防火牆
按: 測試發現關閉防火牆無效,填寫被動式埠依然為灰色. 必須添加2條命令
8. 如何設置ftp的主動模式和被動模式
在使用ftp的時侯,經常遇到ftp鏈接後出現文件列表錯誤的情況,只是因為ftp的模式不正確,如何設置ftp的工作模式,什麼是主動模式,什麼又是被動模式,主動模式和被動模式有什麼區別,今天搜集了相關資料和常用ftp軟體工作模式的設置的方法:
一、什麼是PASV和PORT方式
(1)PORT其實是Standard模式的另一個名字,又稱為Active模式。中文意思是「主動模式。
(2)PASV也就是Passive的簡寫。中文就是「被動模式。
二、兩者不同
不同之處是由於PORT(主動)這個方式需要在接上TCP 21埠後,伺服器通過自己的TCP 20來發出數據。並且需要建立一個新的連接來傳送檔案。而PORT的命令包含一些客戶端沒用的資料,所以有了PASv的出現。而PASV模式擁有PORT模式的優點,並去掉一些PORT的缺點。PASV運行方式就是當伺服器接收到客戶端連接請求時,就會自動從埠1024到5000中隨機選擇一個和客戶端建立連接傳遞數據。由於被動且自動建立連接,容易受到攻擊,所以安全性差。
三、常見的FTP客戶端軟體PORT方式與PASV方式的切換方法
大部分FTP客戶端默認使用PASV方式。IE默認使用PORT方式。 在大部分FTP客戶端的設置里,常見到的字眼都是「PASV」或「被動模式」,極少見到「PORT」或「主動模式」等字眼。因為FTP的登錄方式只有兩種:PORT和PASV,取消PASV方式,就意味著使用PORT方式。
(1)IE:工具 -> Internet選項 -> 高級 -> 「使用被動FTP」(需要IE6.0以上才支持)。
(2)CuteFTP:Edit -> Setting -> Connection -> Firewall -> 「PASV Mode」 或File -> Site Manager,在左邊選中站點 -> Edit -> 「Use PASV mode」 。
(3)FlashGet:工具 -> 選項 -> 代理伺服器 -> 直接連接 -> 編輯 -> 「PASV模式」。
(4)FlashFXP:選項 -> 參數選擇 -> 代理/防火牆/標識 -> 「使用被動模式」 或 站點管理 -> 對應站點 -> 選項 -> 「使用被動模式」或快速連接 -> 切換 -> 「使用被動模式」。
9. FTP的PASV模式是什麼意思
FTP是File Transfer Protocol(文件傳輸協議)的縮寫,用來在兩台計算機之間互相傳送文件。相比於HTTP,FTP協議要復雜得多。復雜的原因,是因為FTP協議要用到兩個TCP連接,一個是命令鏈路,用來在FTP客戶端與伺服器之間傳遞命令;另一個是數據鏈路,用來上傳或下載數據。
在被動方式FTP中,命令連接和數據連接都由客戶端,這樣就可以解決從伺服器到客戶端的數據埠的入方向連接被防火牆過濾掉的問題。
當開啟一個FTP連接時,客戶端打開兩個任意的非特權本地埠。第一個埠連接伺服器的21埠,但與主動方式的FTP不同,客戶端不會提交PORT命令並允許伺服器來回連它的數據埠,而是提交PASV命令。
(9)ftppasv擴展閱讀:
工作方式
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伺服器將通過這個埠進行數據的傳送。
10. 如何開啟IIS里的FTP的PASV模式
IIS 不支持禁用或者活動或被動連接模式。
與Internet, 上使用 HTTP 和其他協議 FTP 協議使用最小的兩個連接會話期間: 用於控制,
半雙工連接和進行數據傳輸全雙工連接用於控制, 半雙工連接和全雙工連接進行數據傳輸:。 默認情況下, 伺服器上 TCP 埠 21 用於控制連接,
但數據連接由方法, 客戶端用來連接到伺服器, 作為下面詳細。
因為通過控制連接客戶端發送到伺服器, 埠命令- 主動模式 FTP 連接 有時稱為以 " 客戶端管理 "。 命令請求伺服器以建立到客戶, 使用
TCP 埠由 埠命令指定數據連接從 TCP 埠 20 上。
被動模式 FTP 連接 是有時稱為到 " 伺服器管理 ", 因為與之一瞬態埠用作數據連接的伺服器端埠伺服器響應客戶端發出 pasv
命令後,。 由客戶端, 數據連接命令發出後伺服器連接到客戶立即使用埠上面控制連接的客戶端埠。
與埠范圍 1024 - 65535 內默認模式 Passive - IIS FTP 中隨機選擇到響應。 要進一步限制這些巨大埠范圍,
系統管理員可配置命名 PassivePortRange 元資料庫屬性關鍵字, 此屬性關鍵字僅存在於 IIS 6.0, for IIS 5.0 在
Windows 2000, 系統管理員需要安裝 Service Pack 4, 在系統注冊表中 PassivePortRange 項中添加。
更改PassivePortRange for IIS, 執行過程之一下面部分中所述。
用於Windows Server 2003 要啟用直接編輯元資料庫)
1 . 打開 IIS Microsoft 管理控制台 (MMC)。
2 . 右擊本地計算機節點。
3 . 選擇 屬性。
4 請確保 啟用直接編輯元資料庫 復選框。
通過ADSUTIL 腳本配置 PassivePortRange b)
1 . 單擊 開始、 運行, 鍵入 cmd, 和然後 確定。
2 . 鍵入 cd Inetpub\AdminScripts, 然後按 Enter。
3 . 鍵入以下命令從命令提示符。
CSCRIPT.exe C:\Inetpub\AdminScripts\adsutil.vbs set
/MSFTPSVC/PassivePortRange "5500-5515" 4 重新啟動 FTP 服務。