• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            大龍的博客

            常用鏈接

            統計

            最新評論

            FTP基礎知識 --- 轉

            FTP基礎知識

            FTP是File Transfer Protocol(文件傳輸協議)的縮寫,用來在兩臺計算機之間互相傳送文件。相比于HTTP,FTP協議要復雜得多。復雜的原因,是因為FTP協議要用到兩個TCP連接,一個是命令鏈路,用來在FTP客戶端與服務器之間傳遞命令;另一個是數據鏈路,用來上傳或下載數據。

            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,則可以訪問,而且實際上是本機連接本機。

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

            posted on 2009-04-25 17:11 大龍 閱讀(184) 評論(0)  編輯 收藏 引用

            久久er国产精品免费观看8| 久久99精品综合国产首页| 久久福利青草精品资源站| 韩国三级大全久久网站| 99久久99久久精品国产片| 狠狠色丁香久久婷婷综合| 久久99国内精品自在现线| 久久99精品久久久久久水蜜桃| 精品久久人人妻人人做精品| 久久笫一福利免费导航| 国产亚洲美女精品久久久| 狠狠色丁香久久婷婷综合| 91久久精品无码一区二区毛片| 久久久久人妻一区二区三区| 久久亚洲av无码精品浪潮| 2021国产成人精品久久| 亚洲AV无码久久| 久久精品国产乱子伦| 国产巨作麻豆欧美亚洲综合久久 | 伊人久久综合无码成人网| 91久久精品国产91性色也| 久久精品人人做人人妻人人玩| 亚洲精品乱码久久久久久中文字幕 | 久久精品国产亚洲av影院| 尹人香蕉久久99天天拍| 亚洲精品NV久久久久久久久久| 久久久久久午夜成人影院| 波多野结衣久久精品| 伊人久久大香线蕉综合Av| 热久久国产欧美一区二区精品| 久久久这里有精品中文字幕| 久久国产精品无码一区二区三区 | 国产女人aaa级久久久级| 久久er99热精品一区二区| 中文字幕日本人妻久久久免费| 伊人久久大香线蕉综合热线| 性做久久久久久久久老女人| 久久精品无码一区二区三区日韩| 久久伊人色| 免费精品国产日韩热久久| 一个色综合久久|