ftp連接方式
㈠ ftp建立後,和伺服器建立哪兩種連接
起初,FTP並不是應用於IP網路上的協議,而是ARPANEt網路中計算機間的文件傳輸協議, ARPANET是美國國防部組建的老網路,於1960-1980年使用。在那時, FTP的主要功能是在主機間高速可靠地傳輸文件。目前FTP仍然保持其可靠性,即使在今天,它還允許文件遠程存取。這使得用戶可以在某個系統上工作,而將文件存貯在別的系統。例如,如果某用戶運行Web伺服器,需要從遠程主機上取得HTML文件和CGI程序在本機上工作,他需要從遠程存儲站點獲取文件(遠程站點也需安裝Web伺服器)。當用戶完成工作後,可使用FTP將文件傳回到Web伺服器。採用這種方法,用戶無需使用Telnet登錄到遠程主機進行工作,這樣就使Web伺服器的更新工作變得如此的輕松。
FTP是TCP/IP的一種具體應用,它工作在OSI模型的第七層,TCP模型的第四層上,即應用層,使用TCP傳輸而不是UDP,這樣FTP客戶在和伺服器建立連接前就要經過一個被廣為熟知的"三次握手"的過程,它帶來的意義在於客戶與伺服器之間的連接是可靠的,而且是面向連接,為數據的傳輸提供了可靠的保證。
下面,讓我們來看看,一個FTP客戶在和伺服器連接是怎麼樣的一個過程(以標準的FTP埠號為例)。
首先,FTP並不像HTTP協議那樣,只需要一個埠作為連接(HTTP的默認埠是80,FTP的默認埠是21),FTP需要2個埠,一個埠是作為控制連接埠,也就是21這個埠,用於發送指令給伺服器以及等待伺服器響應;另一個埠是數據傳輸埠,埠號為20(僅PORT模式),是用來建立數據傳輸通道的,主要有3個作用
從客戶向伺服器發送一個文件。
從伺服器向客戶發送一個文件。
從伺服器向客戶發送文件或目錄列表。
其次,FTP的連接模式有兩種,PORT和PASV。PORT模式是一個主動模式,PASV是被動模式,這里都是相對於伺服器而言的。為了讓大家清楚的認識這兩種模式,朗月繁星分別舉例說明。
PORT模式
當FTP客戶以PORT模式連接伺服器時,他動態的選擇一個埠號(本次試驗是6015)連接伺服器的21埠,注意這個埠號一定是1024以上的,因為1024以前的埠都已經預先被定義好,被一些典型的服務使用,當然有的還沒使用,保留給以後會用到這些埠的資源服務。當經過TCP的三次握手後,連接(控制信道)被建立(如圖1和圖2)。
圖1:FTP客戶使用FTP命令建立於伺服器的連接
圖2:用netstat命令查看,控制信道被建立在客戶機的6015和伺服器的20埠
現在用戶要列出伺服器上的目錄結構(使用ls或dir命令),那麼首先就要建立一個數據通道,因為只有數據通道才能傳輸目錄和文件列表,此時用戶會發出PORT指令告訴伺服器連接自己的什麼埠來建立一條數據通道(這個命令由控制信道發送給伺服器),當伺服器接到這一指令時,伺服器會使用20埠連接用戶在PORT指令中指定的埠號,用以發送目錄的列表(如圖3)。
圖3:ls命令是一個交互命令,它會首先與伺服器建立一個數據傳輸通道。經驗證本次試驗客戶機使用6044埠
當完成這一操作時,FTP客戶也許要下載一個文件,那麼就會發出get指令,請注意,這時客戶會再次發送PORT指令,告訴伺服器連接他的哪個"新"埠,你可以先用netstat -na這個命令驗證,上一次使用的6044已經處於TIME_WAIT狀態(如圖4)。
圖4:使用netstat命令驗證上一次使用ls命令建立的數據傳輸通道已經關閉
當這個新的數據傳輸通道建立後(在微軟的系統中,客戶端通常會使用連續的埠,也就是說這一次客戶端會用6045這個埠),就開始了文件傳輸的工作。
PASV模式
然而,當FTP客戶以PASV模式連接伺服器時,情況就有些不同了。在初始化連接這個過程即連接伺服器這個過程和PORT模式是一樣的,不同的是,當FTP客戶發送ls、dir、get等這些要求數據返回的命令時,他不向伺服器發送PORT指令而是發送PASV指令,在這個指令中,用戶告訴伺服器自己要連接伺服器的某一個埠,如果這個伺服器上的這個埠是空閑的可用的,那麼伺服器會返回ACK的確認信息,之後數據傳輸通道被建立並返回用戶所要的信息(根據用戶發送的指令,如ls、dir、get等);如果伺服器的這個埠被另一個資源所使用,那麼伺服器返回UNACK的信息,那麼這時,FTP客戶會再次發送PASV命令,這也就是所謂的連接建立的協商過程。為了驗證這個過程我們不得不藉助CUTEFTP Pro這個大家經常使用的FTP客戶端軟體,因為微軟自帶的FTP命令客戶端,不支持PASV模式。雖然你可以使用QUOTE PASV這個命令強制使用PASV模式,但是當你用ls命令列出伺服器目錄列表,你會發現它還是使用PORT方式來連接伺服器的。現在我們使用CUTEFTP Pro以PASV模式連接伺服器(如圖5)。
圖5:使用CUTEFTP Pro以PASV模式連接伺服器
請注意連接LOG里有這樣幾句話:
COMMAND:> PASV
227 Entering Passive Mode (127,0,0,1,26,108)
COMMAND:> LIST
STATUS:> Connecting ftp data socket 127.0.0.1: 6764...
125 Data connection already open; Transfer starting.
226 Transfer complete.
其中,227 Entering Passive Mode (127,0,0,1,26,80). 代表客戶機使用PASV模式連接伺服器的26x256+108=6764埠。(當然伺服器要支持這種模式)
125 Data connection already open; Transfer starting.說明伺服器的這個埠可用,返回ACK信息。
再讓我們看看用CUTEFTP Pro以PORT模式連接伺服器的情況。其中在LOG里有這樣的記錄:
COMMAND:> PORT 127,0,0,1,28,37
200 PORT command successful.
COMMAND:> LIST
150 Opening ASCII mode data connection for /bin/ls.
STATUS:> Accepting connection: 127.0.0.1:20.
226 Transfer complete.
STATUS:> Transfer complete.
其中,PORT 127,0,0,1,28,37告訴伺服器當收到這個PORT指令後,連接FTP客戶的28x256+37=7205這個埠。
Accepting connection: 127.0.0.1:20表示伺服器接到指令後用20埠連接7205埠,而且被FTP客戶接受。
比較分析
在這兩個例子中,請注意: PORT模式建立數據傳輸通道是由伺服器端發起的,伺服器使用20埠連接客戶端的某一個大於1024的埠;在PASV模式中,數據傳輸的通道的建立是由FTP客戶端發起的,他使用一個大於1024的埠連接伺服器的1024以上的某一個埠。如果從C/S模型這個角度來說,PORT對於伺服器來說是OUTBOUND,而PASV模式對於伺服器是INBOUND,這一點請特別注意,尤其是在使用防火牆的企業里,比如使用微軟的ISA Server 2000發布一個FTP伺服器,這一點非常關鍵,如果設置錯了,那麼客戶將無法連接。
最後,請注意在FTP客戶連接伺服器的整個過程中,控制信道是一直保持連接的,而數據傳輸通道是臨時建立的。
在本文中把重點放到了FTP的連接模式,沒有涉及FTP的其他內容,比如FTP的文件類型(Type),格式控制(Format control)以及傳輸方式(Transmission mode)等。不過這些規范大家可能不需要花費過多的時間去了解,因為現在流行的FTP客戶端都可以自動的選擇正確的模式來處理,對於FTP伺服器端通常也都做了一些限制,如下:
類型:A S C I I或圖像。
格式控制:只允許非列印。
結構:只允許文件結構。
傳輸方式:只允許流方式
至於這些內容,限於篇幅在這里就不想再介紹了。希望這篇文章能對大家有些幫助,特別是正在學習ISA Server2000的朋友和一些對FTP不很了解的朋友。
㈡ 如何連接FTP,FTP連接失敗的五大主要原因
一、如何連接ftp
1、找到桌面上的「FlashFXP5」,雙擊打開FTP軟體。
二、FTP連接失敗的五大原因:
一、FTP伺服器的域名解析問題,當連接FTP時地址欄填寫了伺服器的域名,如果DNS伺服器解析出問題,就無法得到對方的IP地址,因此無法連接FTP。
二、錯誤的用戶名和密碼。許多FTP伺服器禁止了匿名連接,這樣是為了安全起見,連接時輸入錯誤的用戶名和密碼或者不輸入用戶名和密碼導致連接失敗。
三、傳輸模式錯誤。許多伺服器在安裝了防火牆後設置了被動模式傳輸,用戶在連接時需要採用被動模式(pasv)或者自動模式。
四、FTP伺服器錯誤。對方伺服器宕機,可以通過PING命令來測試FTP伺服器是否存活。
五、錯誤的埠或者自身電腦防火牆不允許。許多安全軟體禁止了FTP連接,自身電腦無法連接FTP埠。
㈢ ftp怎麼登錄連接
1、打開電腦界面,雙擊一個瀏覽器
注意事項:
FTP支持兩種模式,一種方式叫做Standard (也就是 PORT方式,主動方式),一種是 Passive(也就是PASV,被動方式)。 Standard模式 FTP的客戶端發送 PORT 命令到FTP伺服器。Passive模式FTP的客戶端發送 PASV命令到 FTP Server。
默認情況下FTP協議使用TCP埠中的 20和21這兩個埠,其中20用於傳輸數據,21用於傳輸控制信息。但是,是否使用20作為傳輸數據的埠與FTP使用的傳輸模式有關,如果採用主動模式,那麼數據傳輸埠就是20;如果採用被動模式,則具體最終使用哪個埠要伺服器端和客戶端協商決定。
㈣ FTP的方式一般有哪三種
FTP是英語FILE TRANSFER PROTOCOL的簡稱,中文意為"文件傳送協議,用於在電腦和電腦之間傳送文件,有了這個協議,文件的傳輸就可以不受不同的電腦,不同的操作系統,甚至不同文件格式的限制,傳輸文件的一般步驟如下:
1在本地電腦上登陸到國際互聯網,
2搜索有文件共享主機或者個人電腦(一般有專門的FTP伺服器網站上公布的,上面有進入該主機或個人電腦的名稱,口令和路徑)
3當與遠程主機或者對方的個人電腦建立連接後,用對方提供的用戶名和口令登陸到該主機或對方的個人電腦.
4在遠程主機或對方的個人電腦登陸成功後,就可以上傳你想跟別人分享的東東或者下載別人授權共享的東東(這里的東東是指能放到電腦里去又能在顯示屏上看到的東東)
5完成工作後關閉FTP下載軟體,切斷連接.
為了實現文件傳輸,用戶還要運行專門的文件傳輸程序,比如網際快車就有這方面的功能,其它還有很多專門的FTP傳輸軟體,各有各的特色.
三種登錄方式:1、匿名登錄
2、本地用戶登錄
3、虛擬用戶登錄
㈤ FTP使用傳輸層的什麼協議
FTP使用傳輸層的TCP協議。
TCP旨在適應支持多網路應用的分層協議層次結構。 連接到不同但互連的計算機通信網路的主計算機中的成對進程之間依靠TCP提供可靠的通信服務。
TCP假設它可以從較低級別的協議獲得簡單的,可能不可靠的數據報服務。 原則上,TCP應該能夠在從硬線連接到分組交換或電路交換網路的各種通信系統之上操作。
(5)ftp連接方式擴展閱讀:
TCP連接每一方的接收緩沖空間大小都固定,接收端只允許另一端發送接收端緩沖區所能接納的數據,TCP在滑動窗口的基礎上提供流量控制,防止較快主機致使較慢主機的緩沖區溢出。
作為IP數據報來傳輸的TCP分片到達時可能會失序,TCP將對收到的數據進行重新排序,將收到的數據以正確的順序交給應用層。
TCP將保持它首部和數據的檢驗和,這是一個端到端的檢驗和,目的是檢測數據在傳輸過程中的任何變化。如果收到分片的檢驗和有差錯,TCP將丟棄這個分片,並不確認收到此報文段導致對端超時並重發。
㈥ 請高手介紹一下ftp的主動連接和被動連接
自己看,不用加分,其實就是協商的過程,很容易理解.
http://www.lovim.com/dbbs/redirect.php?tid=7&goto=lastpost
ftp的兩種連接模式PASV(被動)和PORT(主動)
FTP基礎知識 FTP是File Transfer Protocol(文件傳輸協議)的縮寫,用來在兩台計算機之間互相傳送文件。相比於HTTP,FTP協議要復雜得多。復雜的原因,是因為FTP協議要用到兩個TCP連接,一個是命令鏈路,用來在FTP客戶端與伺服器之間傳遞命令;另一個是數據鏈路,用來上傳或下載數據。 FTP協議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。 Port模式:ftp server:tcp 21 <------client:dynamicftp server:tcp 20 ------>client:dynamic Pasv模式:ftp server:tcp 21 <----client:dynamicftp server:tcp dynamic <----client:dynamic PORT(主動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,客戶端在命令鏈路上用PORT命令告訴伺服器:「我打開了XXXX埠,你過來連接我」。於是伺服器從20埠向客戶端的XXXX埠發送連接請求,建立一條數據鏈路來傳送數據。 PASV(被動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,伺服器在命令鏈路上用PASV命令告訴客戶端:「我打開了XXXX埠,你過來連接我」。於是客戶端向伺服器的XXXX埠發送連接請求,建立一條數據鏈路來傳送數據。 從上面可以看出,兩種方式的命令鏈路連接方法是一樣的,而數據鏈路的建立方法就完全不同。而FTP的復雜性就在於此。
㈦ FTP的連接方式有什麼區別啊port,pasv,eprt,epsv
主動連接
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。
㈧ FTP的PASV和PORT連接方式有什麼不同
相比於HTTP,FTP協議要復雜得多。復雜的原因,是因為FTP協議要用到兩個TCP連接,一個是命令鏈路,用來在FTP客戶端與伺服器之間傳遞命令;另一個是數據鏈路,用來上傳或下載數據。
PORT&PASV
FTP協議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。
PORT(主動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,客戶端在命令鏈路上用PORT命令告訴伺服器:我打開了XXXX埠,你過來連接我。於是伺服器從20埠向客戶端的XXXX埠發送連接請求,建立一條數據鏈路來傳送數據。
PASV(被動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,伺服器在命令鏈路上用PASV命令告訴客戶端:我打開了XXXX埠,你過來連接我。於是客戶端向伺服器的XXXX埠發送連接請求,建立一條數據鏈路來傳送數據。
從上面可以看出,兩種方式的命令鏈路連接方法是一樣的,而數據鏈路的建立方法就完全不同。而FTP的復雜性就在於此。
使用FTP客戶端的注意事項
請注意:選擇用PASV方式還是PORT方式登錄FTP伺服器,選擇權在FTP客戶端。
一、客戶端只有內網IP,沒有公網IP
從上面的FTP基礎知識可知,如果用PORT方式,因為客戶端沒有公網IP,FTP將無法連接客戶端建立數據鏈路。因此,在這種情況下,客戶端必須要用PASV方式,才能連接FTP伺服器。大部分人登錄不上,典型的錯誤原因就是因為客戶端沒有公網IP,但用了IE作為FTP客戶端來登錄(IE默認使用PORT方式)。
二、客戶端有公網IP,但安裝了防火牆
如果用PASV方式登錄FTP伺服器,因為建立數據鏈路的時候,是由客戶端向伺服器發送連接請求,沒有問題。反過來,如果用PORT方式登錄FTP伺服器,因為建立數據鏈路的時候,是由伺服器向客戶端發送連接請求,此時連接請求會被防火牆攔截。如果要用PORT方式登錄FTP伺服器,請在防火牆上打開1024以上的高端埠。
三、常見的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-PASVMode
或File-SiteManager,在左邊選中站點-Edit-UsePASVmodeFlashGet:工具-選項-代理伺服器-直接連接-編輯-PASV模式FlashFXP:選項-參數選擇-代理/防火牆/標識-使用被動模式
或站點管理-對應站點-選項-使用被動模式
或快速連接-切換-使用被動模式LeechFTP:Option-Firewall-DonotUse
四、請盡量不要用IE作為FTP客戶端
IE只是個很粗糙的FTP客戶端工具。首先,IE6.0以下的版本不支持PASV方式;其次,IE在登錄FTP的時候,看不到登錄信息。在登錄出錯的時候,無法找到錯誤的原因。
㈨ FTP客戶端可以通過哪幾種方式連接FTP伺服器
一個完整的FTP文件傳輸需要建立兩種類型的連接,一種為文件傳輸下命令,稱為控制連接,另一種實現真正的文件傳輸,稱為數據連接。
1. 控制連接
客戶端希望與FTP伺服器建立上傳下載的數據傳輸時,它首先向伺服器的TCP 21埠發起一個建立連接的請求,FTP伺服器接受來自客戶端的請求,完成連接的建立過程,這樣的連接就稱為FTP控制連接
2.數據連接
FTP控制連接建立之後,即可開始傳輸文件,傳輸文件的連接稱為FTP數據連接。
想要使用FTP,我個人建議使用
IIS7伺服器管理工具裡面的FTP功能可以說是使用感非常棒的。它的命名是上傳下載,這個命名就已經非常直觀的讓我們感受到了這個功能的主要作用。但它裡面的功能可遠遠不止這些。它可以進行批量操作、定時同步(上傳和下載)和多任務同時進行等等一些功能。這可比傳統的FTP工具好用的多。
當然,既然它的FTP工具都這么實用,那它其他功能必定也不會太差。IIS7伺服器批量管理工具好處:批量管理、同步操作、到期提醒、數據安全和定期執行。適用系統:Windows和liunx操作系統。支持Vnc和Ftp批量操作。程序自動更新不會讓你飽受更新的摧殘,省了一大筆事。畢竟現在的軟體更新的時候都需要進行重新下載安裝,非常麻煩。
㈩ FTP的連接方式有什麼區別啊port,pasv,eprt,epsv
FTP僅僅提供了建立在IPv4上進行數據通信的能力,它基於網路地址是32位這一假設。但是,當IPv6出現以後,地址就比32位長許多了。原來對FTP進行的擴展在多協議環境中有時會失敗。我們必須針對IPv6對FTP再次進行擴展。
EPRT、EPSV是Extended Port/Pasv的簡寫。