① 傳輸FTP命令定義和格式
本節簡要介紹TCP/IP的內部結構,為討論與Internet相關的安全問題打下基礎。TCP / IP協議組的一部分的流行是因為它可以用在各種各樣的渠道和底層協議(如T1、X.25、乙太網、RS-232串列介面)。確切地說,TCP/IP協議是一組協議組,包括TCP協議和IP協議、UDP(用戶數據報協議)協議、ICMP(網際網路控制消息協議)協議和其他一些協議。在總體架構上,TCP/IP協議不完全符合OSI的七層參考模型。傳統的開放式系統互連參考模型是通信協議的7抽象參考模型,其中每個層執行特定的任務。該模型的目的是使各種硬體在同一級別上相互通信。7層分別是物理層、數據鏈路層、網路層、傳輸層、語音層、表示層和應用層。TCP/IP協議使用4層層次結構,每一層都調用它的下一層網路來完成自己的需求。這4層是:應用層:應用層之間的通信層,如簡單的電子郵件傳輸(SMTP)、文件傳輸協議(FTP)、網路遠程訪問協議(telnet)等。
傳輸層:這一層,它提供了節點間的數據傳送服務,如傳輸控制協議(TCP)和用戶數據報協議(UDP),TCP和UDP連接的數據包傳輸數據並將數據發送到下一層,這一層負責數據的傳輸,並確定數據已經傳送和接收。互聯網路層:負責提供基本的數據包傳輸功能,使每一條數據都能到達目的地主機(但不檢查接收正確),如互聯網協議(IP)。網路介面層:對實際網路媒體的管理,定義了如何利用實際的網路(如乙太網、串口、線路等)來傳輸數據。
TCP / IP協議
協議在以下簡單介紹TCP / IP有什麼樣的功能,它是如何工作的:
1.ip
互聯網協議IP是TCP / IP的心最重要的是,網路層協議。IP層是由下層接收(網路介面層如乙太網設備驅動)發送數據包,並將數據包發送到更高的TCP層或UDP層;相反,IP層從TCP層或UDP層到下層接收數據包傳輸層。IP包是不可靠的,因為IP不做任何事情來確保數據包按順序發送或不被損壞。IP包包含它被發送的主機的地址(源地址)和接收它的主機的地址(目的地址)。在頂層上的TCP和UDP服務通常假定包中的源地址在接收數據包時是有效的。也可以說,IP地址構成了許多服務的認證基礎,這些服務被認為是從有效主機發送的。IP驗證包含一個名為IP源路由的選項,它可以用來指定源地址和目標地址之間的直接路徑。對於一些TCP和UDP服務,使用此選項的IP包似乎已從路徑上的最後一個系統傳遞,而不是從它的實際位置傳遞。此選項存在用於測試,表明它可用於將系統愚弄為正常禁止連接。很多依賴IP源地址進行驗證的服務會有問題,並且會被非法入侵。< > > 2。如果IP包已經封裝了TCP包,那麼IP將把它們發送到TCP層。TCP在執行虛擬電路連接時對數據包進行排序和檢查錯誤。TCP報文包含序號和確認,所以不接受以包可以被排序,而損壞的包可以被重傳。tcp將消息發送到更高的應用程序,如telnet的服務程序和客戶端程序。應用程序依次將信息發送回TCP層,TCP層將它們發送到IP層、設備驅動程序和物理介質,最後發送到接收方。
面向連接的服務(如Telnet、FTP、rlogin、X、Windows和SMTP)需要高度的可靠性,所以他們使用TCP。DNS在某些情況下使用TCP(發送和接收域名資料庫),但使用UDP通信有關單個主機的信息。
3.udp,
UDP和TCP在同一樓層,但數據包的順序錯誤或重發。因此,UDP不適用於面向連接的服務
② FTP的具體定義
文件傳輸協議(File Transfer Protocol, FTP)FTP是用於在網路上進行文件傳輸的一套標准協議。它屬於網路協議組的應用層。
FTP是一個8位的客戶端-伺服器協議,能操作任何類型的文件而不需要進一步處理,就像MIME或Unencode一樣。但是,FTP有著極高的延時,這意味著,從開始請求到第一次接收需求數據之間的時間會非常長,並且不時的必需執行一些冗長的登陸進程。
概述
FTP服務一般運行在20和21兩個埠。埠20用於在客戶端和伺服器之間傳輸數據流,而埠21用於傳輸控制流,並且是命令通向ftp伺服器的進口。當數據通過數據流傳輸時,控制流處於空閑狀態。而當控制流空閑很長時間後,客戶端的防火牆會將其會話置為超時,這樣當大量數據通過防火牆時,會產生一些問題。此時,雖然文件可以成功的傳輸,但因為控制會話會被防火牆斷開,傳輸會產生一些錯誤。
FTP實現的目標:
促進文件的共享(計算機程序或數據)
鼓勵間接或者隱式的使用遠程計算機
向用戶屏蔽不同主機中各種文件存儲系統的細節
可靠和高效的傳輸數據
缺點:
密碼和文件內容都使用明文傳輸,可能產生不希望發生的竊聽。
因為必需開放一個隨機的埠以建立連接,當防火牆存在時,客戶端很難過濾處於主動模式下的FTP流量。這個問題通過使用被動模式的FTP得到了很大解決。
伺服器可能會被告知連接一個第三方計算機的保留埠。
FTP雖然可以被終端用戶直接使用,但是它是設計成被FTP客戶端程序所控制。
運行FTP服務的許多站點都開放匿名服務,在這種設置下,用戶不需要帳號就可以登錄伺服器,默認情況下,匿名用戶的用戶名是:「anonymous」。這個帳號不需要密碼,雖然通常要求輸入用戶的郵件地址作為認證密碼,但這只是一些細節或者此郵件地址根本不被確定,而是依賴於FTP伺服器的配置情況。
③ 請教FTP命令
append local-file[remote-file]:將本地文件追加到遠程系統主機,若未指定遠程系統文件名,則使用本地文件名。
mget remote-files:傳輸多個遠程文件。
mkdir dir-name:在遠程主機中建一目錄。
④ ftp指的是什麼
FTP(File Transfer Protocol,文件傳輸協議) 是 TCP/IP 協議組中的協議之一。FTP協議包括兩個組成部分,其一為FTP伺服器,其二為FTP客戶端。其中FTP伺服器用來存儲文件,用戶可以使用FTP客戶端通過FTP協議訪問位於FTP伺服器上的資源。
FTP允許用戶以文件操作的方式與另一主機相互通信。然而, 用戶並不真正登錄到自己想要存取的計算機上面而成為完全用戶, 可用FTP程序訪問遠程資源, 實現用戶往返傳輸文件、目錄管理以及訪問電子郵件等等, 即使雙方計算機可能配有不同的操作系統和文件存儲方式。
(4)ftp命令定義在哪裡擴展閱讀
開發任何基於 FTP 的客戶端軟體都必須遵循 FTP 的工作原理,FTP 的獨特的優勢同時也是與其它客戶伺服器程序最大的不同點就在於它在兩台通信的主機之間使用了兩條 TCP 連接,一條是數據連接,用於數據傳送;
另一條是控制連接,用於傳送控制信息(命令和響應),這種將命令和數據分開傳送的思想大大提高了 FTP 的效率,而其它客戶伺服器應用程序一般只有一條 TCP 連接。
參考資料來源:網路-FTP協議
⑤ FTP是什麼的縮寫,到底指什麼意思
FTP 是File Transfer Protocol(文件傳輸協議)的英文簡稱,而中文簡稱為「文傳協議」。用於Internet上的控制文件的雙向傳輸。同時,它也是一個應用程序(Application)。
FTP是一個8位的客戶端-伺服器協議,能操作任何類型的文件而不需要進一步處理,就像MIME或Unicode一樣。但是,FTP有著極高的延時,這意味著,從開始請求到第一次接收需求數據之間的時間,會非常長;並且不時的必須執行一些冗長的登錄進程。
文件傳輸協議的原始規范於1971年4月16日發布為RFC 114。直到1980年,FTP運行在TCP/ IP的前身NCP上。該協議後來被TCP / IP版本,RFC 765(1980年6月)和RFC 959(1985年10月)(當前規范)所取代。
RFC 959提出了若干標准修改,例如RFC 1579(1994年2月)啟用防火牆FTP(被動模式),RFC 2228(1997年6月)提出安全擴展,RFC 2428(1998年9月)增加了對IPv6的支持,並定義了一種新型的被動模式。
(5)ftp命令定義在哪裡擴展閱讀
與大多數Internet服務一樣,FTP也是一個客戶機/伺服器系統。用戶通過一個支持FTP協議的客戶機程序,連接到在遠程主機上的FTP伺服器程序。用戶通過客戶機程序向伺服器程序發出命令,伺服器程序執行用戶所發出的命令,並將執行的結果返回到客戶機。
比如說,用戶發出一條命令,要求伺服器向用戶傳送某一個文件的一份拷貝,伺服器會響應這條命令,將指定文件送至用戶的機器上。客戶機程序代表用戶接收到這個文件,將其存放在用戶目錄中。
大多數最新的網頁瀏覽器和文件管理器都能和FTP伺服器創建連接。這使得在FTP上通過一個介面就可以操控遠程文件,如同操控本地文件一樣。
這個功能通過給定一個FTP的URL實現,形如ftp://<伺服器地址>(例如,ftp://ftp.gimp.org )。是否提供密碼是可選擇的,如果有密碼,則形如ftp://<login>:<password>@<ftpserveraddress>。大部分網頁瀏覽器要求使用被動FTP模式,然而並不是所有的FTP伺服器都支持被動模式。
⑥ ftp命令詳解
這部分簡要介紹一下TCP/IP的內部結構,為討論與互聯網有關的安全問題打下基礎。TCP/IP協議組之所以流行,部分原因是因為它可以用在各種各樣的信道和底層協議(例如T1和X.25、乙太網以及RS-232串列介面)之上。確切地說,TCP/IP協議是一組包括TCP協議和IP協議,UDP(User Datagram Protocol)協議、ICMP(Internet Control Message Protocol)協議和其他一些協議的協議組。
TCP/IP整體構架概述
TCP/IP協議並不完全符合OSI的七層參考模型。傳統的開放式系統互連參考模型,是一種通信協議的7層抽象的參考模型,其中每一層執行某一特定任務。該模型的目的是使各種硬體在相同的層次上相互通信。這7層是:物理層、數據鏈路層、網路層、傳輸層、話路層、表示層和應用層。而TCP/IP通訊協議採用了4層的層級結構,每一層都呼叫它的下一層所提供的網路來完成自己的需求。這4層分別為:
應用層:應用程序間溝通的層,如簡單電子郵件傳輸(SMTP)、文件傳輸協議(FTP)、網路遠程訪問協議(Telnet)等。
傳輸層:在此層中,它提供了節點間的數據傳送服務,如傳輸控制協議(TCP)、用戶數據報協議(UDP)等,TCP和UDP給數據包加入傳輸數據並把它傳輸到下一層中,這一層負責傳送數據,並且確定數據已被送達並接收。
互連網路層:負責提供基本的數據封包傳送功能,讓每一塊數據包都能夠到達目的主機(但不檢查是否被正確接收),如網際協議(IP)。
網路介面層:對實際的網路媒體的管理,定義如何使用實際網路(如Ethernet、Serial Line等)來傳送數據。
TCP/IP中的協議
以下簡單介紹TCP/IP中的協議都具備什麼樣的功能,都是如何工作的:
1. IP
網際協議IP是TCP/IP的心臟,也是網路層中最重要的協議。
IP層接收由更低層(網路介面層例如乙太網設備驅動程序)發來的數據包,並把該數據包發送到更高層---TCP或UDP層;相反,IP層也把從TCP或UDP層接收來的數據包傳送到更低層。IP數據包是不可靠的,因為IP並沒有做任何事情來確認數據包是按順序發送的或者沒有被破壞。IP數據包中含有發送它的主機的地址(源地址)和接收它的主機的地址(目的地址)。
高層的TCP和UDP服務在接收數據包時,通常假設包中的源地址是有效的。也可以這樣說,IP地址形成了許多服務的認證基礎,這些服務相信數據包是從一個有效的主機發送來的。IP確認包含一個選項,叫作IP source routing,可以用來指定一條源地址和目的地址之間的直接路徑。對於一些TCP和UDP的服務來說,使用了該選項的IP包好象是從路徑上的最後一個系統傳遞過來的,而不是來自於它的真實地點。這個選項是為了測試而存在的,說明了它可以被用來欺騙系統來進行平常是被禁止的連接。那麼,許多依靠IP源地址做確認的服務將產生問題並且會被非法入侵。
2. TCP
如果IP數據包中有已經封好的TCP數據包,那麼IP將把它們向『上』傳送到TCP層。TCP將包排序並進行錯誤檢查,同時實現虛電路間的連接。TCP數據包中包括序號和確認,所以未按照順序收到的包可以被排序,而損壞的包可以被重傳。
TCP將它的信息送到更高層的應用程序,例如Telnet的服務程序和客戶程序。應用程序輪流將信息送回TCP層,TCP層便將它們向下傳送到IP層,設備驅動程序和物理介質,最後到接收方。
面向連接的服務(例如Telnet、FTP、rlogin、X Windows和SMTP)需要高度的可靠性,所以它們使用了TCP。DNS在某些情況下使用TCP(發送和接收域名資料庫),但使用UDP傳送有關單個主機的信息。
3.UDP
UDP與TCP位於同一層,但對於數據包的順序錯誤或重發。因此,UDP不被應用於那些使用虛電路的面向連接的服務,UDP主要用於那些面向查詢---應答的服務,例如NFS。相對於FTP或Telnet,這些服務需要交換的信息量較小。使用UDP的服務包括NTP(網落時間協議)和DNS(DNS也使用TCP)。
欺騙UDP包比欺騙TCP包更容易,因為UDP沒有建立初始化連接(也可以稱為握手)(因為在兩個系統間沒有虛電路),也就是說,與UDP相關的服務面臨著更大的危險。
4.ICMP
ICMP與IP位於同一層,它被用來傳送IP的的控制信息。它主要是用來提供有關通向目的地址的路徑信息。ICMP的『Redirect』信息通知主機通向其他系統的更准確的路徑,而『Unreachable』信息則指出路徑有問題。另外,如果路徑不可用了,ICMP可以使TCP連接『體面地』終止。PING是最常用的基於ICMP的服務。
5. TCP和UDP的埠結構
TCP和UDP服務通常有一個客戶/伺服器的關系,例如,一個Telnet服務進程開始在系統上處於空閑狀態,等待著連接。用戶使用Telnet客戶程序與服務進程建立一個連接。客戶程序向服務進程寫入信息,服務進程讀出信息並發出響應,客戶程序讀出響應並向用戶報告。因而,這個連接是雙工的,可以用來進行讀寫。
兩個系統間的多重Telnet連接是如何相互確認並協調一致呢?TCP或UDP連接唯一地使用每個信息中的如下四項進行確認:
源IP地址 發送包的IP地址。
目的IP地址 接收包的IP地址。
源埠 源系統上的連接的埠。
目的埠 目的系統上的連接的埠。
埠是一個軟體結構,被客戶程序或服務進程用來發送和接收信息。一個埠對應一個16比特的數。服務進程通常使用一個固定的埠,例如,SMTP使用25、Xwindows使用6000。這些埠號是『廣為人知』的,因為在建立與特定的主機或服務的連接時,需要這些地址和目的地址進行通訊。
⑦ FTP是什麼
FTP - File Transfer Protocol (文本傳輸協議)
普遍用在電腦與電腦之間的傳輸,上/下載資料等。譬如,你在以下網頁里找到的程式都是以FTP為上/下載傳輸協議的:-
⑧ 電腦上說的FTP地址指的是什麼怎麼設置自己的FTP呢
FTP(File Transfer Protocal),是用於Internet上的控制文件的雙向傳輸的協議。同時,它也是一個應用程序。
設置ftp伺服器的方法:
工具/原料
IIS .net framework 電腦
方法/步驟
1、打開【控制面板】->【程序和功能】->【啟用或關閉 windows 功能】,窗口中,勾選【Internet Information Services】下面的【FTP伺服器】三個選項,點擊【確定】。
⑨ FTP是什麼,在哪裡
FTP的全稱是File Transfer Protocol(文件傳輸協議)。實際上是一個協議來的,但現在一般指的是ftp伺服器。
FTP伺服器,是在互聯網上提供存儲空間的計算機,它們依照FTP協議提供服務。
⑩ FTP的常用命令和使用方法
FTP命令是Internet用戶使用最頻繁的命令之一,不論是在DOS還是UNIX操作系統下使用FTP,都會遇到大量的FTP內部命令。熟悉並靈活應用FTP的內部命令,可以大大方便使用者,並收到事半功倍之效。下面以Win9x的DOS窗口中的FTP命令為例,介紹一下其用法。(本站註:若想在純DOS下使用FTP命令,則需先載入網路設備如網卡或數據機的Packet驅動程序,再使用本站「網路工具」中的Wattcp FTP程序,其用法與下面介紹的類似,詳情請見本站的「DOS使用」欄目)
FTP的命令行格式為: ftp -v -d -i -n -g [主機名] ,其中
-v 顯示遠程伺服器的所有響應信息;
-n 限制ftp的自動登錄,即不使用;
.n etrc文件;
-d 使用調試方式;
-g 取消全局文件名。
FTP使用的內部命令如下(中括弧表示可選項):
1.![cmd[args]:在本地機中執行交互shell,exit回到ftp環境,如:!ls*.zip
2.$ macro-ame[args]: 執行宏定義macro-name。
3.account[password]: 提供登錄遠程系統成功後訪問系統資源所需的補充口令。
4.append local-file[remote-file]:將本地文件追加到遠程系統主機,若未指定遠程系統文件名,則使用本地文件名。
5.ascii:使用ascii類型傳輸方式。
6.bell:每個命令執行完畢後計算機響鈴一次。
7.bin:使用二進制文件傳輸方式。
8.bye:退出ftp會話過程。
9.case:在使用mget時,將遠程主機文件名中的大寫轉為小寫字母。
10.cd remote-dir:進入遠程主機目錄。
11.cp:進入遠程主機目錄的父目錄。
12.chmod mode file-name:將遠程主機文件file-name的存取方式設置為mode,如:chmod 777 a.out。
13.close:中斷與遠程伺服器的ftp會話(與open對應)。
14.cr:使用asscii方式傳輸文件時,將回車換行轉換為回行。
15.delete remote-file:刪除遠程主機文件。
16.debug[debug-value]:設置調試方式, 顯示發送至遠程主機的每條命令,如:deb up 3,若設為0,表示取消debug。
17.dir[remote-dir][local-file]:顯示遠程主機目錄,並將結果存入本地文件local-file。
18.disconnection:同close。
19.form format:將文件傳輸方式設置為format,預設為file方式。
20.get remote-file[local-file]: 將遠程主機的文件remote-file傳至本地硬碟的local-file。
21.glob:設置mdelete,mget,mput的文件名擴展,預設時不擴展文件名,同命令行的-g參數。
22.hash:每傳輸1024位元組,顯示一個hash符號(#)。
23.help[cmd]:顯示ftp內部命令cmd的幫助信息,如:help get。
24.idle[seconds]:將遠程伺服器的休眠計時器設為[seconds]秒。
25.image:設置二進制傳輸方式(同binary)。
26.lcd[dir]:將本地工作目錄切換至dir。
27.ls[remote-dir][local-file]:顯示遠程目錄remote-dir, 並存入本地文件local-file。
28.macdef macro-name:定義一個宏,遇到macdef下的空行時,宏定義結束。
29.mdelete[remote-file]:刪除遠程主機文件。
30.mdir remote-files local-file:與dir類似,但可指定多個遠程文件,如:mdir *.o.*.zipoutfile 。
31.mget remote-files:傳輸多個遠程文件。
32.mkdir dir-name:在遠程主機中建一目錄。
33.mls remote-file local-file:同nlist,但可指定多個文件名。
34.mode[modename]:將文件傳輸方式設置為modename, 預設為stream方式。
35.modtime file-name:顯示遠程主機文件的最後修改時間。
36.mput local-file:將多個文件傳輸至遠程主機。
37.newer file-name: 如果遠程機中file-name的修改時間比本地硬碟同名文件的時間更近,則重傳該文件。
38.nlist[remote-dir][local-file]:顯示遠程主機目錄的文件清單,並存入本地硬碟的local-file。
39.nmap[inpattern outpattern]:設置文件名映射機制, 使得文件傳輸時,文件中的某些字元相互轉換, 如:nmap $1.$2.$3[$1,$2].[$2,$3],則傳輸文件a1.a2.a3時,文件名變為a1,a2。 該命令特別適用於遠程主機為非UNIX機的情況。
40.ntrans[inchars[outchars]:設置文件名字元的翻譯機制,如ntrans1R,則文件名LLL將變為RRR。
41.open host[port]:建立指定ftp伺服器連接,可指定連接埠。
42.passive:進入被動傳輸方式。
43.prompt:設置多個文件傳輸時的交互提示。
44.proxy ftp-cmd:在次要控制連接中,執行一條ftp命令, 該命令允許連接兩個ftp伺服器,以在兩個伺服器間傳輸文件。第一條ftp命令必須為open,以首先建立兩個伺服器間的連接。
45.put local-file[remote-file]:將本地文件local-file傳送至遠程主機。
46.pwd:顯示遠程主機的當前工作目錄。
47.quit:同bye,退出ftp會話。
48.quote arg1,arg2...:將參數逐字發至遠程ftp伺服器,如:quote syst.
49.recv remote-file[local-file]:同get。
50.reget remote-file[local-file]:類似於get, 但若local-file存在,則從上次傳輸中斷處續傳。
51.rhelp[cmd-name]:請求獲得遠程主機的幫助。
52.rstatus[file-name]:若未指定文件名,則顯示遠程主機的狀態, 否則顯示文件狀態。
53.rename[from][to]:更改遠程主機文件名。
54.reset:清除回答隊列。
55.restart marker:從指定的標志marker處,重新開始get或put,如:restart 130。
56.rmdir dir-name:刪除遠程主機目錄。
57.runique:設置文件名唯一性存儲,若文件存在,則在原文件後加後綴.1,.2等。
58.send local-file[remote-file]:同put。
59.sendport:設置PORT命令的使用。
60.site arg1,arg2...:將參數作為SITE命令逐字發送至遠程ftp主機。
61.size file-name:顯示遠程主機文件大小,如:site idle 7200。
62.status:顯示當前ftp狀態。
63.struct[struct-name]:將文件傳輸結構設置為struct-name, 預設時使用stream結構。
64.sunique:將遠程主機文件名存儲設置為唯一(與runique對應)。
65.system:顯示遠程主機的操作系統類型。
66.tenex:將文件傳輸類型設置為TENEX機的所需的類型。
67.tick:設置傳輸時的位元組計數器。
68.trace:設置包跟蹤。
69.type[type-name]:設置文件傳輸類型為type-name,預設為ascii,如:type binary,設置二進制傳輸方式。
70.umask[newmask]:將遠程伺服器的預設umask設置為newmask,如:umask 3
71.user user-name[password][account]:向遠程主機表明自己的身份,需要口令時,必須輸入口令,如:user anonymous my@email。
72.verbose:同命令行的-v參數,即設置詳盡報告方式,ftp 伺服器的所有響應都將顯示給用戶,預設為on.
73.?[cmd]:同help.