FTP

FTP

FTP 是File Transfer Protocol(檔案傳輸協定)的英文簡稱,而中文簡稱為“文傳協定”。用於Internet上的控制檔案的雙向傳輸。同時,它也是一個應用程式Application)。基於不同的作業系統有不同的FTP應用程式,而所有這些應用程式都遵守同一種協定以傳輸檔案。在FTP的使用當中,用戶經常遇到兩個概念:下載"(Download)和"上傳"(Upload)。下載檔案就是從遠程主機拷貝檔案至自己的計算機上;上傳檔案就是將檔案從自己的計算機中拷貝至遠程主機上。用Internet語言來說,用戶可通過客戶機程式向(從)遠程主機上傳(下載)檔案。

基本信息

概述

檔案傳輸是Internet提供的一項基本服務,通過Internet,可以把檔案從一台計算機傳送到另一台計算機,檔案傳輸服務必須遵循檔案傳輸協定(FileTransferProtocol,FTP)。通過FTP從遠程計算機上獲取檔案稱為下載(Download);將本地計算機上的檔案複製到遠程計算機上稱為上傳(Upload),檔案的“上傳”和“下載”功能是用戶上網經常要使用到的,許多用戶都要從網上“下載”一些檔案和資料,那些擁有個人部落格(Blog)或者要進行網站管理的用戶,經常需要“上傳”自己的檔案。

當啟動FTP從遠程計算機拷貝檔案時,事實上啟動了兩個程式:一個本地機上的FTP客戶程式:它向FTP伺服器提出拷貝檔案的請求。另一個是啟動在遠程計算機的上的FTP伺服器程式,它回響你的請求把你指定的檔案傳送到你的計算機中。FTP採用“客戶機/伺服器”方式,用戶端要在自己的本地計算機上安裝FTP客戶程式。FTP客戶程式有字元界面和圖形界面兩種。字元界面的FTP的命令複雜、繁多。圖形界面的FTP客戶程式,操作上要簡潔方便的多。

FTPFTP

支持FTP協定的伺服器就是FTP伺服器,下面介紹一下什麼是FTP協定。用戶聯網的首要目的就是實現信息共享,檔案傳輸是信息共享非常重要的一個內容之一。Internet上早期實現傳輸檔案,並不是一件容易的事,Internet是一個非常複雜的計算機環境,有PC,有工作站,有MAC,有大型機,據統計連線在Internet上的計算機已有上千萬台,而這些計算機可能運行不同的作業系統,有運行Unix的伺服器,也有運行Dos、Windows的PC機和運行MacOS的蘋果機等等,而各種作業系統之間的檔案交流問題,需要建立一個統一的檔案傳輸協定,這就是所謂的FTP。基於不同的作業系統有不同的FTP應用程式,而所有這些應用程式都遵守同一種協定,這樣用戶就可以把自己的檔案傳送給別人,或者從其它的用戶環境中獲得檔案。

工作原理

FTPFTP
與大多數Internet服務一樣,FTP也是一個客戶機/伺服器系統。用戶通過一個支持FTP協定的客戶機程式,連線到在遠程主機上的FTP伺服器程式。用戶通過客戶機程式向伺服器程式發出命令,伺服器程式執行用戶所發出的命令,並將執行的結果返回到客戶機。比如說,用戶發出一條命令,要求伺服器向用戶傳送某一個檔案的一份拷貝,伺服器會回響這條命令,將指定檔案送至用戶的機器上。客戶機程式代表用戶接收到這個檔案,將其存放在用戶目錄中。

在FTP的使用當中,用戶經常“下載”(Download)和“上載”(Upload)。“下載”檔案就是從遠程主機拷貝檔案至自己的計算機上;“上載”檔案就是將檔案從自己的計算機中拷貝至遠程主機上。用Internet語言來說,用戶可通過客戶機程式向(從)遠程主機上載(下載)檔案。

使用FTP時必須首先登錄,在遠程主機上獲得相應的許可權以後,方可上載或下載檔案。也就是說,要想同哪一台計算機傳送檔案,就必須具有哪一台計算機的適當授權。換言之,除非有用戶ID和口令,否則便無法傳送檔案。這種情況違背了Internet的開放性,Internet上的FTP主機何止千萬,不可能要求每個用戶在每一台主機上都擁有帳號。匿名FTP就是為解決這個問題而產生的。

匿名FTP是這樣一種機制,用戶可通過它連線到遠程主機上,並從其下載檔案,而無需成為其註冊用戶。系統管理員建立了一個特殊的用戶ID,名為anonymous,Internet上的任何人在任何地方都可使用該用戶ID。

通過FTP程式連線匿名FTP主機的方式同連線普通FTP主機的方式差不多,只是在要求提供用戶標識ID時必須輸入anonymous,該用戶ID的口令可以是任意的字元串。習慣上,用自己的E-mail地址作為口令,使系統維護程式能夠記錄下來誰在存取這些檔案。匿名FTP不適用於所有Internet主機,它只適用於那些提供了這項服務的主機。

當遠程主機提供匿名FTP服務時,會指定某些目錄向公眾開放,允許匿名存取。系統中的其餘目錄則處於隱匿狀態。作為一種安全措施,大多數匿名FTP主機都允許用戶從其下載檔案,而不允許用戶向其上載檔案,也就是說,用戶可將匿名FTP主機上的所有檔案全部拷貝到自己的機器上,但不能將自己機器上的任何一個檔案拷貝至匿名FTP主機上。即使有些匿名FTP主機確實允許用戶上載檔案,用戶也只能將檔案上載至某一指定上載目錄中。隨後,系統管理員會去檢查這些檔案,他會將這些檔案移至另一個公共下載目錄中,供其他用戶下載,利用這種方式,遠程主機的用戶得到了保護,避免了有人上載有問題的檔案,如帶病毒的檔案。

作為一個Internet用戶,可通過FTP在任何兩台Internet主機之間拷貝檔案。但是,實際上大多數人只有一個Internet帳戶,FTP主要用於下載公共檔案,例如共享軟體、各公司技術支持檔案等。Internet上有成千上萬台匿名FTP主機,這些主機上存放著數不清的檔案,供用戶免費拷貝。實際上,幾乎所有類型的信息,所有類型的電腦程式都可以在Internet上找到。這是Internet吸引重要原因之一。

匿名FTP使用戶有機會存取到世界上最大的信息庫,這個信息庫是日積月累起來的,並且還在不斷增長,永不關閉,涉及到幾乎所有主題。而且,這一切是免費的。

匿名FTP是Internet網上發布軟體的常用方法。Internet之所以能延續到今天,是因為人們使用通過標準協定提供標準服務的程式。像這樣的程式,有許多就是通過匿名FTP發布的,任何人都可以存取它們。

Internet中的有數目巨大的匿名FTP主機以及更多的檔案,那么到底怎樣才能知道某一特定檔案位於哪個匿名FTP主機上的那個目錄中。這正是Archie伺服器所要完成的工作。Archie將自動在FTP主機中進行搜尋,構造一個包含全部檔案目錄信息的資料庫,使你可以直接找到所需檔案的位置信息。

傳輸步驟

FTPFTP
需要進行遠程檔案傳輸的計算機必須安裝和運行ftp客戶程式。在windows作業系統的安裝過程中,通常都安裝了tcp/ip協定軟體,其中就包含了ftp客戶程式。但是該程式是字元界面而不是圖形界面,這就必須以命令提示符的方式進行操作,很不方便。

啟動ftp客戶程式工作的另一途徑是使用IE瀏覽器,用戶只需要在ie地址欄中輸入如下格式的url地址:ftp://[用戶名:口令@]ftp伺服器域名[:連線埠號](在CMD命令行下也可以用上述方法連線,通過put命令和get命令達到上傳和下載的目的,通過ls命令列出目錄,除了上述方法外還可以在cmd下輸入ftp回車,然後輸入openIP來建立一個連線,此方法還適用於linux下連線ftp伺服器)

通過IE瀏覽器啟動ftp的方法儘管可以使用,但是速度較慢,還會將密碼暴露在IE瀏覽器中而不安全。因此一般都安裝並運行專門的ftp客戶程式。

1、在本地電腦上登入到國際網際網路。
2、搜尋有檔案共享主機或者個人電腦(一般有專門的FTP伺服器網站上公布的,上面有進入該主機或個人電腦的名稱,口令和路徑)。
3、當與遠程主機或者對方的個人電腦建立連線後,用對方提供的用戶名和口令登入到該主機或對方的個人電腦、
4、在遠程主機或對方的個人電腦登入成功後,就可以上傳你想跟別人分享的東東或者下載別人授權共享的東東(這裡的東東是指能放到電腦里去又能在顯示屏上看到的東東)。
5、完成工作後關閉FTP下載軟體,切斷連線。
為了實現檔案傳輸,用戶還要運行專門的檔案傳輸程式,比如網際快車就有這方面的功能,其它還有很多專門的FTP傳輸軟體,FlashFxp為其中的傑出軟體。有興趣的網友可以試試其他的軟體,如LeapFTP總歸各有各的特色。

通信協定

FTPFTP
TCP/IP協定中,FTP標準命令TCP連線埠號為21,Port方式數據連線埠為20。FTP協定的任務是從一台計算機將檔案傳送到另一台計算機,它與這兩台計算機所處的位置、聯接的方式、甚至是是否使用相同的作業系統無關。假設兩台計算機通過ftp協定對話,並且能訪問Internet,你可以用ftp命令來傳輸檔案。每種作業系統使用上有某一些細微差別,但是每種協定基本的命令結構是相同的。

FTP的傳輸有兩種方式:ASCII傳輸模式和二進制數據傳輸模式。

1、ASCII傳輸方式:假定用戶正在拷貝的檔案包含的簡單ASCII碼文本,如果在遠程機器上運行的不是UNIX,當檔案傳輸時ftp通常會自動地調整檔案的內容以便於把檔案解釋成另外那台計算機存儲文本檔案的格式。但是常常有這樣的情況,用戶正在傳輸的檔案包含的不是文本檔案,它們可能是程式,資料庫,字處理檔案或者壓縮檔案(儘管字處理檔案包含的大部分是文本,其中也包含有指示頁尺寸,字型檔等信息的非列印字元)。在拷貝任何非文本檔案之前,用binary命令告訴ftp逐字拷貝,不要對這些檔案進行處理,這也是下面要講的二進制傳輸。

2、二進制傳輸模式:在二進制傳輸中,保存檔案的位序,以便原始和拷貝的是逐位一一對應的。即使目的地機器上包含位序列的檔案是沒意義的。例如,macintosh以二進制方式傳送執行檔到Windows系統,在對方系統上,此檔案不能執行。如果你在ASCII方式下傳輸二進制檔案,即使不需要也仍會轉譯。這會使傳輸稍微變慢,也會損壞數據,使檔案變得不能用。(在大多數計算機上,ASCII方式一般假設每一字元的第一有效位無意義,因為ASCII字元組合不使用它。如果你傳輸二進制檔案,所有的位都是重要的。)如果你知道這兩台機器是同樣的,則二進制方式對文本檔案和數據檔案都是有效的。

3、FTP的工作方式:FTP支持兩種模式,一種方式叫做Standard(也就是PORT方式,主動方式),一種是Passive(也就是PASV,被動方式)。Standard模式FTP的客戶端傳送PORT命令到FTP伺服器。Passive模式FTP的客戶端傳送PASV命令到FTPServer。

運行模式

FTPFTP
FTP支持兩種模式,一種方式叫做Standard(也就是PORT方式,主動方式),一種是Passive(也就是PASV,被動方式)。Standard模式FTP的客戶端傳送PORT命令到FTP伺服器。Passive模式FTP的客戶端傳送PASV命令到FTPServer。下面介紹一個這兩種方式的工作原理:

Port模式FTP客戶端首先和FTP伺服器的TCP21連線埠建立連線,通過這個通道傳送命令,客戶端需要接收數據的時候在這個通道上傳送PORT命令。PORT命令包含了客戶端用什麼連線埠接收數據。在傳送數據的時候,伺服器端通過自己的TCP20連線埠連線至客戶端的指定連線埠傳送數據。FTPserver必須和客戶端建立一個新的連線用來傳送數據。

Passive模式在建立控制通道的時候和Standard模式類似,但建立連線後傳送的不是Port命令,而是Pasv命令。FTP伺服器收到Pasv命令後,隨機打開一個高端連線埠(連線埠號大於1024)並且通知客戶端在這個連線埠上傳送數據的請求,客戶端連線FTP伺服器此連線埠,然後FTP伺服器將通過這個連線埠進行數據的傳送,這個時候FTPserver不再需要建立一個新的和客戶端之間的連線。

很多防火牆在設定的時候都是不允許接受外部發起的連線的,所以許多位於防火牆後或區域網路的FTP伺服器不支持PASV模式,因為客戶端無法穿過防火牆打開FTP伺服器的高端連線埠;而許多區域網路的客戶端不能用PORT模式登入FTP伺服器,因為從伺服器的TCP20無法和內部網路的客戶端建立一個新的連線,造成無法工作。

軟體架設

sev-u首先工具會連線我們要指定的連線埠,默認是43958,接著輸入serv-u默認的用戶名:LocalAdministrator和密碼:#l@$ak#.lk;0@P這裡如果用戶名和密碼不對的話會提示登入不成功,顯然我們這個是已經登入成功了,接下來的“Domainxl:0Deleted”是刪除XL這域,接著往下是新建一個XL的域,接著再在域裡新建一個賬號是XL,密碼是111111的賬號,然後利用這個賬號執行命令,最後再次刪除這個域。這是這個工具執行的完整過程。

FTP用戶授權

(1)用戶授權
要連上FTP伺服器(即“登入”),必須要有該FTP伺服器授權的帳號,也就是說你只有在有了一個用戶標識和一個口令後才能登入FTP伺服器,享受FTP伺服器提供的服務。(2)FTP地址格式FTP地址如下:ftp://用戶名:密碼@FTP伺服器IP或域名:FTP命令連線埠/路徑/檔案名稱。上面的參數除FTP伺服器IP或域名為必要項外,其他都不是必須的。

相關詞條

相關搜尋

熱門詞條