A. 如何設置FTP的主動模式和被動模式
FTP是文件傳輸協議的簡稱,ftp傳輸協議有著眾多的優點所以傳輸文件時使用ftp協議的軟體很多,ftp協議使用的埠是21(也稱為控制埠),其實還有一個數據埠20,根據FTP工作方式的不同,數據埠也不都是20,主動模式的被動模式使用的數據埠是不一樣的,下面我就一步一步介紹主動ftp模式和被動ftp模式的區別:
一、什麼是主動FTP
主動模式的FTP工作原理:客戶端從一個任意的非特權埠N連接到FTP伺服器的命令埠,也就是21埠。然後客戶端開始監聽埠N+1,並發送FTP命令「port N+1」到FTP伺服器。接著伺服器會從它自己的數據埠(20)連接到客戶端指定的數據埠(N+1)。
針對FTP伺服器前面的防火牆來說,必須允許以下通訊才能支持主動方式FTP:
1、 任何大於1024的埠到FTP伺服器的21埠。(客戶端初始化的連接)
2、 FTP伺服器的21埠到大於1024的埠。 (伺服器響應客戶端的控制埠)
3、 FTP伺服器的20埠到大於1024的埠。(伺服器端初始化數據連接到客戶端的數據埠)
4、 大於1024埠到FTP伺服器的20埠(客戶端發送ACK響應到伺服器的數據埠)
二、什麼是被動FTP
為了解決伺服器發起到客戶的連接的問題,人們開發了一種不同的FTP連接方式。這就是所謂的被動方式,或者叫做PASV,當客戶端通知伺服器它處於被動模式時才啟用。
在被動方式FTP中,命令連接和數據連接都由客戶端發起,這樣就可以解決從伺服器到客戶端的數據埠的入方向連接被防火牆過濾掉的問題。
當開啟一個 FTP連接時,客戶端打開兩個任意的非特權本地埠(N > 1024和N+1)。第一個埠連接伺服器的21埠,但與主動方式的FTP不同,客戶端不會提交PORT命令並允許伺服器來回連它的數據埠,而是提交 PASV命令。這樣做的結果是伺服器會開啟一個任意的非特權埠(P > 1024),並發送PORT P命令給客戶端。然後客戶端發起從本地埠N+1到伺服器的埠P的連接用來傳送數據。
對於伺服器端的防火牆來說,必須允許下面的通訊才能支持被動方式的FTP:
1、 從任何大於1024的埠到伺服器的21埠(客戶端初始化的連接)
2、 伺服器的21埠到任何大於1024的埠(伺服器響應到客戶端的控制埠的連接)
3、 從任何大於1024埠到伺服器的大於1024埠(客戶端初始化數據連接到伺服器指定的任意埠)
4、 伺服器的大於1024埠到遠程的大於1024的埠(伺服器發送ACK響應和數據到客戶端的數據埠)
以上關於主動和被動FTP的解釋,可以簡單概括為以下兩點:
1、主動FTP:
命令連接:客戶端 >1024埠 -> 伺服器 21埠
數據連接:客戶端 >1024埠 <- 伺服器 20埠
2、被動FTP:
命令連接:客戶端 >1024埠 -> 伺服器 21埠
數據連接:客戶端 >1024埠 -> 伺服器 >1024埠
三、主動模式ftp與被動模式FTP優點和缺點:
主動FTP對FTP伺服器的管理和安全很有利,但對客戶端的管理不利。因為FTP伺服器企圖與客戶端的高位隨機埠建立連接,而這個埠很有可能被客戶端的防火牆阻塞掉。被動FTP對FTP客戶端的管理有利,但對伺服器端的管理不利。因為客戶端要與伺服器端建立兩個連接,其中一個連到一個高位隨機埠,而這個埠很有可能被伺服器端的防火牆阻塞掉。
B. FTP的主要命令有那些
FTP命令是Internet用戶使用最頻繁的命令之一,不論是在DOS還是UNIX操作系統下使用FTP,都會遇到大量的FTP內部命令。熟悉並靈活應用FTP的內部命令,可以大大方便使用者,並收到事半功倍之效。
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]]:設置文件名字元的翻譯機制,如ntrans 1R,則文件名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。
C. 在終端里,使用ftp命令,如何進入主動模式,具體應該輸入什麼指令
用list命令 dir一樣 如果你想學習使用進行後台FTP下載,那麼就必須學習FTP指令。 FTP的命令行格式為: ftp -v -d -i -n -g [主機名] , 其中 -v 顯示遠程伺服器的所有響應信息; -n 限制ftp的自動登錄,即不使用;.n etrc文件; -d 使用調試方式...
D. 什麼是ftp主動模式和被動模式
FTP是僅基於TCP的服務,不支持UDP。 與眾不同的是FTP使用2個埠,一個數據埠和一個命令埠(也可叫做控制埠)。通常來說這兩個埠是21(命令埠)和20(數據埠)。但FTP 工作方式的不同,數據埠並不總是20。這就是FTP主動與被動模式的最大不同之處。
(一)主動FTP
主動方式的FTP是這樣的:客戶端從一個任意的非特權埠N(N>1024)連接到FTP伺服器的命令埠(21埠)。然後客戶端開始監聽埠N+1,並發送FTP命令「port N+1」到FTP伺服器。接著伺服器會從它自己的數據埠(20)連接到客戶端指定的數據埠(N+1)。
針對FTP伺服器前面的防火牆來說,必須允許以下通訊才能支持主動方式FTP:
1. 任何大於1024的埠到FTP伺服器的21埠。(客戶端初始化的連接)
2. FTP伺服器的21埠到大於1024的埠。 (伺服器響應客戶端的控制埠)
3. FTP伺服器的20埠到大於1024的埠。(伺服器端初始化數據連接到客戶端的數據埠)
4. 大於1024埠到FTP伺服器的20埠(客戶端發送ACK響應到伺服器的數據埠)
(二)被動FTP
為了解決伺服器發起到客戶的連接的問題,人們開發了一種不同的FTP連接方式。這就是所謂的被動方式,或者叫做PASV,當客戶端通知伺服器它處於被動模式時才啟用。
在被動方式FTP中,命令連接和數據連接都由客戶端發起,這樣就可以解決從伺服器到客戶端的數據埠的入方向連接被防火牆過濾掉的問題。
當開啟一個 FTP連接時,客戶端打開兩個任意的非特權本地埠(N > 1024和N+1)。第一個埠連接伺服器的21埠,但與主動方式的FTP不同,客戶端不會提交PORT命令並允許伺服器來回連它的數據埠,而是提交 PASV命令。這樣做的結果是伺服器會開啟一個任意的非特權埠(P > 1024),並發送PORT P命令給客戶端。然後客戶端發起從本地埠N+1到伺服器的埠P的連接用來傳送數據。
對於伺服器端的防火牆來說,必須允許下面的通訊才能支持被動方式的FTP:
1. 從任何大於1024的埠到伺服器的21埠 (客戶端初始化的連接)
2. 伺服器的21埠到任何大於1024的埠 (伺服器響應到客戶端的控制埠的連接)
3. 從任何大於1024埠到伺服器的大於1024埠 (客戶端初始化數據連接到伺服器指定的任意埠)
4. 伺服器的大於1024埠到遠程的大於1024的埠(伺服器發送ACK響應和數據到客戶端的數據埠)
(三) 主動與被動FTP優缺點
主動FTP對FTP伺服器的管理有利,但對客戶端的管理不利。因為FTP伺服器企圖與客戶端的高位隨機埠建立連接,而這個埠很有可能被客戶端的防火牆阻塞掉。被動FTP對FTP客戶端的管理有利,但對伺服器端的管理不利。因為客戶端要與伺服器端建立兩個連接,其中一個連到一個高位隨機埠,而這個埠很有可能被伺服器端的防火牆阻塞掉。
幸運的是,有折衷的辦法。既然FTP伺服器的管理員需要他們的伺服器有最多的客戶連接,那麼必須得支持被動FTP。我們可以通過為FTP伺服器指定一個有 限的埠范圍來減小伺服器高位埠的暴露。這樣,不在這個范圍的任何埠會被伺服器的防火牆阻塞。雖然這沒有消除所有針對伺服器的危險,但它大大減少了危 險。
簡而言之:
主動模式(PORT)和被動模式(PASV)。主動模式是從伺服器端向客戶端發起連接;被動模式是客戶端向伺服器端發起連接。兩者的共同點是都使用 21埠進行用戶驗證及管理,差別在於傳送數據的方式不同,PORT模式的FTP伺服器數據埠固定在20,而PASV模式則在1025-65535之間隨機
FTP主動模式與被動模式的解決與原理
FTP是File Transfer Protocol(文件傳輸協議)的縮寫,用來在兩台計算機之間互相傳送文件。相比於HTTP,FTP協議要復雜得多。復雜的原因,是因為FTP協議要用到兩個TCP連接,一個是命令鏈路,用來在FTP客戶端與伺服器之間傳遞命令;另一個是數據鏈路,用來上傳或下載數據。
FTP協議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。
PORT(主動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,客戶端在命令鏈路上用PORT命令告訴伺服器:「我打開了XXXX埠,你過來連接我」。於是伺服器從20埠向客戶端的XXXX埠發送連接請求,建立一條數據鏈路來傳送數據。
PASV(被動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,伺服器在命令鏈路上用PASV命令告訴客戶端:「我打開了XXXX埠,你過來連接我」。於是客戶端向伺服器的XXXX埠發送連接請求,建立一條數據鏈路來傳送數據。
概括:
--------------------------------------------------------------------------------
主動模式:伺服器向客戶端敲門,然後客戶端開門
被動模式:客戶端向伺服器敲門,然後伺服器開門
所以,如果你是如果通過代理上網的話,就不能用主動模式,因為伺服器敲的是上網代理伺服器的門,而不是敲客戶端的門
而且有時候,客戶端也不是輕易就開門的,因為有防火牆阻擋,除非客戶端開放大於1024的高端埠
E. 在終端里,使用ftp命令,如何進入主動模式,具體應該輸入什麼指令
在客戶端模式下,使用 ftp 命令進行文件傳輸,當登錄到對方的伺服器上時,就是主動模式。如果需要修改為被動模式的話,在 ftp> 狀態下輸入:passive <cr> 即可。其中:<cr> 代表回車鍵。
F. ftp上傳文件命令
可以使用重定向「<」來實現
不過需要寫好FTP腳本。
FTP命令可以自己網路下試試。基本上是這樣
ftp 連接的伺服器埠
輸入用戶名
密碼
bin
(如果有下層文件夾需要先CD文件夾)
get 文件名(這是下載單個文件)
mget 文件名1 文件名2等支持通配符
quit 退出
擴展
什麼是FTP呢?FTP 是 TCP/IP 協議組中的協議之一,是英文File Transfer Protocol的縮寫。該協議是Internet文件傳送的基礎,它由一系列規格說明文檔組成,目標是提高文件的共享性,提供非直接使用遠程計算機,使存儲介質對用戶透明和可靠高效地傳送數據。簡單的說,FTP就是完成兩台計算機之間的拷貝,從遠程計算機拷貝文件至自己的計算機上,稱之為「下載(download)」文件。若將文件從自己計算機中拷貝至遠程計算機上,則稱之為「上載(upload)」文件。在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字元組合不使用它。如果你傳輸二進制文件,所有的位都是重要的。)如果你知道這兩台機器是同樣的,則二進制方式對文本文件和數據文件都是有效的。
5. FTP的工作方式
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伺服器將通過這個埠進行數據的傳送,這個時候FTP server不再需要建立一個新的和客戶端之間的連接。
很多防火牆在設置的時候都是不允許接受外部發起的連接的,所以許多位於防火牆後或內網的FTP伺服器不支持PASV模式,因為客戶端無法穿過防火牆打開FTP伺服器的高端埠;而許多內網的客戶端不能用PORT模式登陸FTP伺服器,因為從伺服器的TCP 20無法和內部網路的客戶端建立一個新的連接,造成無法工作。
G. FTP常用命令全ji
文件傳輸軟體的使用格式為:FTP,若連 接成功,系統將提示用戶輸入用戶名及口令:
LOGIN: (輸入合法的用戶名或者「ANONMOUS」):
PASSWORD: (輸入合法的口令,若以「ANONMOUS」方式登錄,一般不用口令):
第一節 FTP命令基礎
進入想要連接的FTP站點後,用戶就可以進行相應的文件傳輸操作了,其中一些重要 的命令及相似的命令 如下:
1)HELP、 ?、RHEIP、REMOTEHELP
HELP顯示LOCAL端的命令說明,若不接受則顯示所有可用命令;
?相當於HELP,例如:?CD:
RHELP同HELP,只是它用來顯示REMOTE端的命令說明;
REMOTEHELP相當於RHELP。
2)ASC(ASCll)、Bm(BmARY)、IMAGE、TYPE
ASCII切換傳輸模式為文字模式(只能用來傳送DOC文件,因為是7-BIT);
BINARY切換傳輸模式為二進制模式(除文字文件外皆用此模式);
IMAGE相當於BINARY:
TYPE讓你更改或顯示目前傳輸模式。
3)BYE、QUIT
BYE退出FTP:
QUIT相當於BYE。
4)CD、CDUP、LCD、P~WD、 !
CD改變當前工作目錄,例如:CD\PUB;
CDUP回到上一層目錄,相當於你打CD..:
LCD讓你更改或顯示LOCAL端的工作目錄,例如:LCD\TMP;
PWD顯示目前的工作目錄(REMOTE端):
!讓你執行外殼命令,例如:!LS。
5)DELETE、MDELETE、RENAME
DELETE刪除REMOTE端的文件:
MDELETE批量刪除文件,需配合?或,*
RENAME更改REMOTE端的文件名。
6)GET、MGET、PUT、MPUT、RECV、SEND
GET下傳文件;
MGET批量下傳文件,需配合萬用字元,例如:MGET*.GZ;
PUT上傳文件;
MPUT批量上傳文件,需配合萬用字元;
RECV相當於GET(RECV為RECEWE的簡寫):
SEND相當於PUT。
7)HASH、PROMPT、VERBOSE、STATUS、BELL
HASH切換#字型大小的出現,每一個#字型大小表示傳送了1024/8192BYTES:
PROMPT切換iNTERACTIVEON/OFF;
VERBOSE切換所有文件傳輸過程的顯示;
STATUS顯示目前的一些參數:
BELL當指令做完時會發出叫聲。
8)LS、DIR、MLS、MDIR、MKDIR、RMDIR
LS有點象UNIX下的LS(LIST)命令:
DIR相當於LS-L(LIST-LONG);
MLS只是將遠端某目 錄下的文件存於LOCAL端的某文件里;
MDIR相當於MLS;
MKDIR象DOS下的MD(創建子目錄)一樣:
RMDIR象DOS下的RD(刪除子目錄)一樣。
9)OPEN、CLOSE、DISCONNECT、USER ·
OPEN連接某個遠端FTP伺服器;
CLOSE關閉目前的連接; DISCONNECT相當於CLOSE;
USER再輸入一次用戶名和口令(有點像UNIX下的SU)。
第二節FTP命令完全掌握
FTP命令是Intemet用戶使用最頻繁的命令之一,不論在DOS還在UNIX操作系統下使 用FTP,都會遇到大量的 FTP內部命令。熟悉並靈活應用FTP的內部命令,可以大大方便 使用者,並收到事半功倍之效。
FTP的命令行格式為:
FTP-v-d-i-n-g[主機名],其中:
—v——顯示遠程伺服器的所有響應信息;
—n.------限制FTP的自動登錄,即不使用; ,
n-----etRc文件:
-d——使用調試方式:
·g——取消全局文件名。
FTP使用的內部命令如下(中括弧表示可選項):
1)[crud[args)1:在本地機中執行交互shell,exit回到FTP環境, 列如:!LS*.zip.
2)$macro-amc[args兒執行宏定義macro-name。
3)accountlpassword]:提供登錄遠程系統成功後訪問系統資源所需的補充口令。
4)append local-file[remote-file]:將本地文件追加到遠程系統主機,若未指定遠系統文件名,則使用本地文件名。
5)aSCii:使用ascII型傳輸方式。
6)bell:每個命令執行完畢後計算機響鈴—次
7)bin:使用二進制文件傳輸方式
8)bye..退出FTP會話過程—
9)case:在使用mget時,將遠程主文件名中的大寫字母轉為小寫字母
10)cdremote·dir:進入遠程主機目錄。
11)cp..進入遠程主機目錄的父目錄。
12)chmodmodefile-name:將遠程主機文件file-name的存取方式設置為mode。列如:chmod777a.OUt。
13)close:中斷與遠程伺服器的FTP會話(與open對應)。
14)cr:使用aSSC「方式傳輸文件時,將回車換行轉換為回行
15)deleteremote-file-刪除遠程主機文件:
16)debugldebug-value3:.設置調試方式,顯示發送至遠程主機的每條命令。例如:debup3,若設為0,表示取消debug。
17)dir[remote-dir][Local-file]:顯示遠程主機目錄,並將結果存入本地文件local-file:
18)disconnection-.同close。
19)formformat:將文件傳輸方式設置為format,預設為file方式。
20)getremote-file[10cal-file]:將遠程主機的文件remote-file傳至本地 硬碟的local-file。
21)glob:設置mdelete,mget,mput的文件名擴展,預設時不擴展文件名,同命令行的-g參數。
22)hash:每傳輸1024位元組,顯示一個hash符號(#)。
23)help[cmd]:顯示FTP內部命令cmd的幫助信息,如.-helpget。
24)idle[seconds]:將遠程伺服器的休眠計時器設為[seconds]秒。
25)image:設置二進制傳輸方式(同binary)。
26)LCD[DIR]:將本地工作目錄切換至dir。
27)LS[remote-DIR][LOCAL-FILE]:顯示遠程目錄remote-dir,並存入本地文local-fileo
28)macdefmacro-name:定義一個宏,遇到macdef下的空行時,宏定義結束。
29)mdelete[remote-file]:刪除遠程主機文件。
30)mdirremote-fileslocal-file:與dlr類似,但可指定多個遠程文件。 列如mdir*.O.*.zipoutfiLe。
31)mgetremote-files:傳輸多個遠程文件。
32)mkdirdirname:在遠程主機中建一目錄。
33)misremote-filelocal-file.同nlist,但可指定多個文件名。
34)mode[modename]:將文件傳輸方式設置為modename,預設為stream方式。
35)modtimefile-name..顯示遠程主機文件的最後修改時間。 ·
36)mputlocal-file:將多個文件傳輸至遠程主機,
37)newerfile-name: 如果遠程機中file-name的修改時間比本地硬碟同名文件的時間巨近,則重新傳輸該文件。 ·
38)nlist正remote·di41local-file3:顯示遠程主機目錄的文件清單,並存入本地硬碟的local-fileo
39)nmap[npattem outpattem]設置文件名映射機制,使得文件傳輸時,文件中的某些字元相互轉換,如:nmapSl.S2.S3[$1,$2][$2,$3],則傳輸文件a1.a2.a3時,文件名變為a1,a20該命令特別適用於遠程主機為非UNIX機的情況o
40)ntrans[Inchars[outchars]]設置文件名字元的翻譯機制,如ntranslR,則文件名LLI將變為RRR。
41)openhost[port]:建立指定FTP伺服器連接,可指定連接埠。
42)passive:進入被動傳輸方式。
43)prompt:設置多個文件傳輸時的交互提示。
44)proxy FTP-cmd:在次要控制連接中,執行一條FTP命令,該命令允許連接兩個FTP伺服器,以在兩個伺服器間傳輸文件。第一條FTP命令必須為open,以首先建立兩個伺服器間的連接。
45)putlocal-file[remote-file]:將本地文件local-file傳送至遠程主機。
46)vwd:顯示遠程主機的當前工作目錄。
47)qmt-.同bye,退出FTP會話。
48)quote argl,arg2。。。:將參數逐字發至遠程卸伺服器,如:quote, syst。
49)recvremote-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,如:restartl30。
56)rmdirdir-name:刪除遠程主機目錄。
57)mnique:設置文件名惟一性存儲,若文件存在,則在原文件後加後綴.1,.2等
58)send local-file[remote-file):同put
59)sendport:設置PORT命令的使用。
60)siteargl,arg2。。。:將參數作為SITE命令逐字發送至遠程卸主機。
61)sizefile-name:顯示遠程主機文件大小,如:Slteidle7200。
62)stares:。顯示當前FTP狀態。 ·
63)struct[struct-name]:將文件傳輸結構設置為struct-name,預設時使用stream結構。
64)suniclue:將遠程主機文件名存儲設置為惟一(與mnique對應)。
65)system:顯示遠程主機的操作系統類型。
66)tenex:將文件:傳輸類型設置為TENEX機的所需的類型
67)tick:設置傳輸時的位元組計數器
68)trace:設置包跟蹤。
69)type[type-name):設置文件傳輸類型為type-name,預設為ascii,
例如:typebinary,設置二進制傳輸方式。
70)umask[newmask):將遠程伺服器的預設umask設置為newmask。 例如:umask 3。
71)user user-name [passwordⅡaccount]:向遠程主機表明自己的身份,需要口令時,必須輸入口令,如:useranonymousmy@emaiL。
72)verbose:同命令行的-v參數,即設置詳盡報告方式,FTP伺服器的所有響應都將顯示給用戶,預設為on。
73)?[cmd]:同help。
H. 急求!ftp命令的全部命令集合
61sendport
說明:設置PORT命令的使用。
62)site arg1,arg2
說明:將參數作為SITE命令逐字發送至遠程ftp主機。
63)size file-name
說明:顯示遠程主機文件大小。
如site idle 7200。
64)status
說明:顯示當前ftp狀態。
65)struct[struct-name]
說明:將文件傳輸結構設置為struct-name,預設時使用 stream結構。
66)sunique
說明:將遠程主機文件名存儲設置為唯一(與runique對應)。
67)system
說明:顯示遠程主機的作系統類型。
68)tenex
說明:將文件傳輸類型設置為TENEX機所需的類型。
69)tick
說明:設置傳輸時的位元組計數器。
70)trace
說明:轉換報文跟蹤,運行ftp的命令時,trace將顯示沒個報文的理由。
71)type
說明:設置或顯示文件傳輸類型.
如type [type-name]其中type-name 的意思是文件傳輸的類型,默認是ASCII,沒加這個參數就是顯示當前的傳輸類型.
72umask[newmask]
說明:將遠程伺服器的預設umask設置為newmask,如umask 3。
73)user
說明:指定連接到遠程計算機的用戶.
如user user-name [passwd] [account]其中user-name不用說都是用來登陸計算機的用戶名了,passwd是指定user-name的密碼,不指定的話ftp會提示輸入密碼。account是指定用來登陸計算機的帳號,如不指定,ftp會提示輸入帳號.
74)verbose
說明:轉換冗餘模式,這里如果打開,會顯示所有ftp響應,文件傳輸結束的時候會顯示傳輸的效率和統計信息,默認的情況是打開的。
I. 傳輸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不適用於面向連接的服務
J. ftp的兩種傳輸模式簡述
當FTP工作在主動模式下時,客戶端首先發起連接請求,與伺服器的21號埠建立控制連接,連接成功後,客戶端方藉此發送命令。若客戶端需要傳輸數據,客戶端會通過已建立的連接通道向伺服器發送信息,告知伺服器客戶端中接收數據的埠,之後伺服器則通過20號埠連接到客戶端指定的埠並傳送數據,在主動模式下,控制連接的發起方是FTP客戶機,而數據連接的發起方為FTP伺服器。
當FTP工作在被動模式下時,客戶端首先發起連接請求,與伺服器的21號埠建立控制連接。之後仍由客戶端發送信息,請求與伺服器建立數據連接,伺服器接收到此請求後,會隨機打開一個高端埠(埠號一般大於1024),並將該埠號告知客戶端,此時客戶端與伺服器的該埠再建立數據連接,通過該通道進行數據傳遞。在被動模式下,控制連接和數據連接的發起方都為客戶機。關於FTP的知識,可以到黑馬程序員學習,這些知識免費學哦!