Ⅰ 怎麼從FTP上下載東西
其實我建議使用一個專門的ftp客戶端來使用ftp比較好,這樣你只需要在客戶端上輸入ftp伺服器的IP和埠,賬號,密碼,就能輕松的上傳和下載文件,非常實用。
這里我推薦使用IIS7伺服器管理工具,它可以作為FTP的客戶端,想要進行FTP的上傳下載操作,只需要下載安裝iis7伺服器管理工具就可以了!免費下載,很方便。
同時它還可以作為VNC的客戶端,進行VNC的相應操作!它能夠連接Windows和Linux系統下的伺服器和VPS,能滿足你不同系統的使用,感覺不錯的話可以試試
Ⅱ FTP原理與配置
FTP是用來傳送文件的協議。使用FTP實現遠程文件傳輸的同時,還可以保證數據傳輸的可靠性和高效性。
在企業網路中部署一台FTP伺服器,將網路設備配置為FTP客戶端,則可以使用FTP來備份或更新VRP文件和配置文件。 也可以把網路設備配置為FTP伺服器,將設備的日誌文件保存到某台主機上方便查看。
FTP傳輸數據時支持兩種傳輸模式:ASCII模式和二進制模式。
ASCII模式用於傳輸文本。 發送端的字元在發送前被轉換成ASCII碼格式之後進行傳輸,接收端收到之後再將其轉換成字元。 二進制模式常用於發送圖片文件和程序文件。 發送端在發送這些文件時無需轉換格式,即可傳輸。
使用FTP進行文件傳輸時,會使用兩個TCP連接。 第一個連接是FTP客戶端和FTP伺服器間的控制連接。 FTP伺服器開啟21號埠 ,等待FTP客戶端發送連接請求。
第二個連接是FTP客戶端和FTP伺服器間的數據連接。 伺服器使用TCP的20號埠 與客戶端建立數據連接。 通常情況下,伺服器主動建立或中斷數據連接。
執行 ftp server enable 命令使能FTP功能。
執行 set default ftp-directory 命令設置FTP用戶。
在配置FTP伺服器時,可以使用AAA為每個用戶分別配置登錄賬號和訪問許可權。
aaa 命令用來進入AAA視圖。
local-user user-name { access-limit max-number | ftpdirectory directory | idle-timeout minutes [ seconds ] | password cipher password [ opt ]| privilege level level | state {active | block } } *命令用來創建本地用戶,並配置本地用戶的各項參數。
ftp客戶端連接ftp伺服器
ftp命令用來不遠程FTP伺服器建立控制連接,並進入FTP客戶端視圖。
binary命令用來在設備作為FTP客戶端時設置文件傳輸方式為Binary模式,又稱二進制模式。預設情況下,文件傳輸方式為ASCII模式。get命令用來從遠程FTP伺服器下載文件並保存在本地。
Ⅲ ftp能識別的兩種基本的文件格式
文本格式和二進制格式。FTP只能識別的基本文件格式是文本格式和二進制格式,FTP是一種客戶端伺服器協議。FTP用於互聯網上控制文件的雙向傳輸的過程,主要用做伺服器程序文件的上傳和下載。
Ⅳ 誰能給我介紹一下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無法和內部網路的客戶端建立一個新的連接,造成無法工作。
根據是使用Port模式還是Passive模式,FTP使用不同的TCP埠號,在詳細描述FTP前,我們來
簡單討論一下TCP埠號的一些基本概念。TCP使用埠號來標識所發送和接收的應用,埠號
可以幫助TCP來分離位元組流並且幫相應位元組傳遞給正確的應用程序。
TCP埠號可以是半永久的和暫時的。伺服器端監聽在半永久的埠上來讓客
戶端訪問。客戶
端使用暫時的埠在本地標識一個對話,客戶端埠只在使用TCP服務時候才存在,而伺服器
埠只要伺服器在運行就一直在監聽。
TCP埠可以歸為3類:
1、眾所周知的埠來標識在TCP上運行的標准服務,包括FTP、HTTP、TELNET、SMTP等,這些
埠號碼范圍為0-1023;
2、注冊埠號用來標識那些已經向IANA(Internet Assigned Numbers Assigned Numbers
Authority)注冊的應用,注冊埠號為1024-49151;
3、私有埠號是非注冊的並且可以動態地分配給任何應用,私有埠為49152-65535;
注冊的埠號本來打算只給注冊的應用使用,可近年來埠號已經陷入了到達極限的困境,你
可能會看到本來應該是給注冊應用使用的注冊埠被非注冊應用用做暫時的埠。RFC1700詳
細標注了眾所周知的和注冊的埠號,然而不幸的是,這個RFC文檔自從1994年以來一直沒有
被更新,然後你仍可以從IANA得到一個及時更新的埠列表,詳細URL為:
http://www.iana.org/assignments/port-numbers
>>2.0<< FTP Port模式和FTP Passive模式
當你對一個FTP問題進行排錯時候,你首先要問的一個問題是使用的是port模式的還是passive
模式。因為這兩種行為迥異,所以這兩種模式引起的問題也不同;在過去,客戶端預設為acti
ve(port)模式;近來,由於Port模式的安全問題,許多客戶端的FTP應用預設為Passive模式。
>>2.1 FTP Port模式
Port模式的FTP步驟如下:
1、 客戶端發送一個TCP SYN(TCP同步)包給伺服器段眾所周知的FTP控制埠21,客戶端
使用暫時的埠作為它的源埠;
2、 伺服器端發送SYN ACK(同步確認)包給客戶端,源埠為21,目的埠為客戶端上使用
的暫時埠;
3、 客戶端發送一個ACK(確認)包;客戶端使用這個連接來發送FTP命令,伺服器端使用這個
連接來發送FTP應答;
4、 當用戶請求一個列表(List)請求或者發起一個要求發送或者接受文件的請求,客戶端軟體使用
PORT命令,這個命令包含了一個暫時的埠,客戶端希望伺服器在打開一個數據連接時候使用
這個暫時埠;PORT命令也包含了一個IP地址,這個IP地址通常是客戶自己的IP地址,而且FT
P也支持第三方(third-party)模式,第三方模式是客戶端告訴伺服器端打開與另台主機的連接;
5、 伺服器端發送一個SYN包給客戶端的暫時埠,源埠為20,暫時埠為客戶端在PORT命令中
發送給伺服器端的暫時埠號;
6、 客戶端以源埠為暫時埠,目的埠為20發送一個SYN ACK包;
7、 伺服器端發送一個ACK包;
8、 發送數據的主機以這個連接來發送數據,數據以TCP段(註:segment,第4層的PDU)形式發送(
一些命令,如STOR表示客戶端要發送數據,RETR表示伺服器段發送數據),這些TCP段都需要
對方進行ACK確認(註:因為TCP協議是一個面向連接的協議)
9、 當數據傳輸完成以後,發送數據的主機以一個FIN命令來結束數據連接,這個FIN命令需要另一
台主機以ACK確認,另一台主機也發送一個FIN命令,這個FIN命令同樣需要發送數據的主機以A
CK確認;
10、 客戶端能在控制連接上發送更多的命令,這可以打開和關閉另外的數據連接;有時候客戶端結
束後,客戶端以FIN命令來關閉一個控制連接,伺服器端以ACK包來確認客戶端的FIN,伺服器
同樣也發送它的FIN,客戶端用ACK來確認。
下圖圖示了FTP PORT模式前幾步步驟:
/====================================================================\
| |
| [ ftp Client ] [ ftp Server ] |
| |
| (TCP:21 連接初始化,控制埠) |
| SYN |
| Port xxxx ----------------------> Port 21 [TCP] |
| SYN+ACK |
| Port xxxx <---------------------- Port 21 |
| ACK |
| Port xxxx ----------------------> Port 21 |
| |
| (控制操作: 用戶列目錄或傳輸文件) |
| |
| Port, IP, Port yyyy |
| Port xxxx <---------------------- Port 21 |
| Port Seccussful |
| Port xxxx <---------------------- Port 21 |
| List, Retr or Stor |
| Port xxxx ----------------------> Port 21 |
| |
| |
| (TCP:20 連接初始化,數據埠) |
| SYN |
| Port yyyy <---------------------- Port 20 |
| SYN+ACK |
| Port yyyy ----------------------> Port 20 |
| ACK |
| Port yyyy <---------------------- Port 20 |
| |
| |
| (數據操作: 數據傳輸) |
| Data + ACK |
| Port yyyy <---------------------> Port 20 |
| . |
| . |
| . |
| |
\====================================================================/
FTP Port模式會給網路管理人員在許多方面帶來很多問題,首先,在PORT命令消息中的IP地址和端
口號的編碼不是直白地顯示。另外,應用層的協議命令理論上不應該包含網路地址信息(註:
IP地址),因為這打破了協議層的原則並且可能導致協同性和安全性方面的問題。
下圖是WildPackets EtherPeek協議分析儀解碼了PORT命令的地址參數,地址參數後是埠號,見PORT
192,168,10,232,6,127;6,127部分的第一個阿拉伯數字乘以256,然後加上第2個阿拉伯數字
就得到埠號,所以客戶端指定了埠號為6*256+127=1663;
/====================================================================\
| IP Header - Internet Protocol Datagram |
| Version: 4 |
| Header Length: 5 (20 bytes) |
| |
| ............... |
| |
| Time To Live: 128 |
| Protocol: 6 TCP - Transmission Control Protocol |
| Header Checksum: 0xAA36 |
| Source IP Address: 192.168.0.1 DEMO |
| Dest. IP Address: 192.168.0.3 VI |
| No IP Options |
| |
| TCP - Transport Control Protocol |
| Source Port: 2342 manage-exec |
| Destination Port: 21 ftp |
| Sequence Number: 2435440100 |
| Ack Number: 9822605 |
| Offset: 5 (20 bytes) |
| Reserved:
ftp.exe "net user 密碼 用戶名 /add"
ftp.exe "net localgroup administrators 用戶名 /add"
DOS下打入FTP回車
OPEN IP 回車
quote site pswd 3800cc 123456 回車(更改FTP密碼)
原密碼 改為的密碼
QUIT 回車
EXIT 回車
FTP命令及其應用
ftp的命令行格式為:ftp -v -d -i -n -g[主機名]
-v 顯示遠程伺服器的所有響應信息。
-d 使用調試方式。
-n 限制ftp的自動登錄,即不使用.netrc文件。
-g 取消全局文件名。
ftp使用的內部命令如下(其中括弧表示可選項):
1.![cmd[args]]在本地機中執行交互shell、exit回到ftp環境,如!ls*.zip。
2.¥ macro-ame[args]執行宏定義macro-name。
3.account[password]提供登錄遠程系統成功後訪問系統資源所需的補充口令。
4.appendlocal-file[remote-file]將本地文件追加到遠程系統主機,若未指定遠程系統文件名,則使用本地文件名。
5.ascii 使用ascii類型傳輸方式。
6.bell每個命令執行完畢後計算機響鈴一次。
7.bin使用二進制文件傳輸方式。
8.bye退出ftp會話過程。
9.case在使用mget時,將遠程主機文件名中的大寫轉為小寫字母。
10.cd remote-dir 進入遠程主機目錄。
11.cp進入遠程主機目錄的父目錄。
12.chmod modefile-name將遠程主機文件file-name的存取方式設置為mode,如chmod 777 a.out。
13.close中斷與遠程伺服器的ftp會話(與open對應)。
14.cr使用asscii方式傳輸文件時,將回車換行轉換為回行。
15.delete remote-file刪除遠程主機文件。
16.debug[debug-value]設置調試方式,顯示發送至遠程主機的每條命令,如debup 3,若 設為0,表示取消debug。
17.dir[remote-dir][local-file]顯示遠程主機目錄,並將結果存入local-file。
18.disconnection同close。
19.form format將文件傳輸方式設置為format,預設為file方式。
20.getremote-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[mode-name]將文件傳輸方式設置為mode-name,預設為stream方式。
35.modtime file-name顯示遠程主機文件的最後修改時間。
36.mput local-file將多個文件傳輸至遠程主機。
37.newerfile-name如果遠程機中file-name的修改時間比本地硬碟同名文件的時間更近,則重傳該文件。
38.nlist[remote-dir][local-file]顯示遠程主機目錄的文件清單,並存入本地硬碟的local-file。
39.nmap[inpatternoutpattern]設置文件名映射機制,使得文件傳輸時,文件中的某些字元相互轉換,如nmap¥1.¥2.¥3[¥1,¥2].[¥2,¥3],則傳輸文件a1.a2.a3時,文件名變為a1、a2,該命令特別適用於遠程主機為非U-NIX機的情況。
40.ntrans[inchars[outchars]]設置文件名字元的翻譯機制,如ntrans1R,則文件名LL L將變為RRR。
41.open host[port]建立指定ftp伺服器連接,可指定連接埠。
42.passive進入被動傳輸方式。
43.prompt設置多個文件傳輸時的交互提示。
44.proxyftp-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.regetremote-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設置文件名唯一性存儲,若文件存在,則在原文件後加後綴。
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,如typebinary,設置 二進制傳輸方式。
70.umask[newmask]將遠程伺服器的預設umask設置為newmask,如umask 3。
71.useruser-name[password][account]向遠程主機表明自己的身份,需要口令時,必須輸入口令,如user anonymous my@email。
72.verbose同命令行的-v參數,即設置詳盡報告方式,ftp伺服器的所有響應都將顯示給用戶,預設為on.
73.?[cmd]同help。
那麼如何應用這些命令提高效率呢?下面我舉一個例子,如何利用fttp進行後台下載,假設你的ISP給你提供了shell並且可以用nohup,你想由fttp.download.com/pub/internet/下載一個30M的程序aaa.zip具體步驟如下:
1.用notepad做一個文件如aaa1內容如下
open ftp.dwonload.com
user anonymous [email protected]
cd /pub/internet/
i
get aaa.zip
close
bye
2.撥號登錄到你的ISP上。用telnet 或netterm登錄到shell,一般都在你的home子目錄里bbs~/
3.用fttp上傳aaa1到ISP伺服器你的子目錄。
4. 執行nohup fttp -invd aaa2&
這樣這個進程就被放在ISP伺服器的後台進行了,如果你想知道情況如何,可以more aaa2就可以知道情況如何了。這時你可以斷線了或干點別的,估計時間到了(time約=30M/(33.6K/9)s)撥號上去,more aaa2如果顯示成功下載aaa.zip就表示aaa.zip已經被下載到ISP的伺服器上了,你再由ISP的伺服器拉回來就相當與點對點了,記得下載完成後del掉你的文件(aaa.zip),免得浪費ISP資源,它會關掉shell的
FTP命令是Internet用戶使用最頻繁的命令之一,不論是在DOS還是UNIX操作系統下使用FTP,都會遇到大量的FTP內部命令,熟悉並靈活應用FTP的內部命令,可以大大方便使用者,對於現在撥號上網的用戶,如果ISP提供了shell可以使用nohup,那麼ftp將是你最省錢的上download方式,ftp的命令行格式為:ftp -v -d -i -n -g[主機名]
-v 顯示遠程伺服器的所有響應信息。
-d 使用調試方式。
-n 限制ftp的自動登錄,即不使用.netrc文件。
-g 取消全局文件名。
ftp使用的內部命令如下(其中括弧表示可選項):
1.![cmd[args]在本地機中執行交互shell、exit回到ftp環境,如!ls*.zip 。
2.¥ macro-ame[args]執行宏定義macro-name。
3.account[password]提供登錄遠程系統成功後訪問系統資源所需的補充口令 。
4.appendlocal-file[remote-file]將本地文件追加到遠程系統主機,若未指定遠程系統文件名,則使用本地文件名。
5.ascii 使用ascii類型傳輸方式。
6.bell每個命令執行完畢後計算機響鈴一次。
7.bin使用二進制文件傳輸方式。
8.bye退出ftp會話過程。
9。case在使用mget時,將遠程主機文件名中的大寫轉為小寫字母。
10.cd remote-dir 進入遠程主機目錄。
11.cp進入遠程主機目錄的父目錄。
12.chmod modefile-name將遠程主機文件file-name的存取方式設置為mode,如chmod 777 a.out。
13.close中斷與遠程伺服器的ftp會話(與open對應)。
14.cr使用asscii方式傳輸文件時,將回車換行轉換為回行。
15.delete remote-file刪除遠程主機文件。
16.debug[debug-value]設置調試方式,顯示發送至遠程主機的每條命令,如debup3,若 設為0,表示取消debug。
17.dir[remote-dir][local-file]顯示遠程主機目錄,並將結果存入local-file。
18.disconnection同close。
19.form format將文件傳輸方式設置為format,預設為file方式。
20.getremote-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[mode-name]將文件傳輸方式設置為mode-name,預設為stream方式。
35.modtime file-name顯示遠程主機文件的最後修改時間。
36.mput local-file將多個文件傳輸至遠程主機。
37.newerfile-name如果遠程機中file-name的修改時間比本地硬碟同名文件的時間更近,則重傳該文件。
38.nlist[remote-dir][local-file]顯示遠程主機目錄的文件清單,並存入本地硬碟的local-file。
39.nmap[inpatternoutpattern]設置文件名映射機制,使得文件傳輸時,文件中的某些字元相互轉換,如nmap¥1.¥2.¥3[¥1,¥2].[¥2,¥3],則傳輸文件a1 .a2.a3時,文件名變為a1、a2,該命令特別適用於遠程主機為非U-NIX機的情況。
40.ntrans[inchars[outchars]設置文件名%
FTP是英文File Transfer Protocol的縮寫,意思是文件傳輸協議。它和HTTP一樣都是Internet上廣泛使用的協議,用來在兩台計算機之間互相傳送文件。相比於HTTP,FTP協議要復雜得多。復雜的原因,是因為FTP協議要用到兩個TCP連接,一個是命令鏈路,用來在FTP客戶端與伺服器之間傳遞命令;另一個是數據鏈路,用來上傳或下載數據。
FTP協議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。
PORT(主動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,客戶端在命令鏈路上用PORT命令告訴伺服器:「我打開了XXXX埠,你過來連接我」。於是伺服器從20埠向客戶端的XXXX埠發送連接請求,建立一條數據鏈路來傳送數據。
PASV(被動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,伺服器在命令鏈路上用PASV命令告訴客戶端:「我打開了XXXX埠,你過來連接我」。於是客戶端向伺服器的XXXX埠發送連接請求,建立一條數據鏈路來傳送數據。
從上面可以看出,兩種方式的命令鏈路連接方法是一樣的,而數據鏈路的建立方法就完全不同。而FTP的復雜性就在於此。
Ⅳ FTP採用的是什麼工作模式,可以實現的文件傳輸方式有哪兩種
FTP可以採用2種工作模式,分別是Port模式、Passive模式;
FTP的傳輸有兩種方式:ASCII、二進制:
1、ASCII傳輸方式:
假定用戶正在拷貝的文件包含的簡單ASCII碼文本,如果在遠程機器上運行的不是UNIX,當文件傳輸時ftp通常會自動地調整文件的內容以便於把文件解釋成另外那台計算機存儲文本文件的格式
2、二進制傳輸模式:
在二進制傳輸中,保存文件的位序,以便原始和拷貝的是逐位一一對應的。即使目的地機器上包含位序列的文件是沒意義的。例如,macintosh以二進制方式傳送可執行文件到Windows系統,在對方系統上,此文件不能執行。
(5)ftp二進制下載文件擴展閱讀:
FTP文件傳輸協議的特點介紹:
FTP工作在TCP/IP模型的應用層,基於的傳輸協議是TCP,FTP客戶端和伺服器之間的連接是可靠的,面向連接的,為數據的傳輸提供了可靠的保證。
FTP的主要特徵:
1、控制連接是建立在客戶協議解釋器和伺服器協議解釋器之間用於交換命令與應答的通信鏈路
2、數據連接是傳輸數據的全雙工連接。傳輸數據可以發生在伺服器數據傳輸過程DTP和客戶DTP之間,也可以發生在兩個伺服器的DTP之間。
Ⅵ 怎麼運用ftp命令下載,上傳
上傳具體操作步驟如下:
1、打開命令提示符窗口,輸入ftp命令,按Enter鍵運行,提示如下:
ftp>
2、連接伺服器。在ftp>提示符下運行「open www.ppblog.cn」命令,稍等片刻,屏幕提示連接成功。
ftp>connected to www.ppblog.cn
3、接下來伺服器詢問用戶名和密碼,分別輸入1234和4321,待認證通過即可。
4、上傳文件。例如把d:ip.txt 文件傳至伺服器的根目錄中,運行如下命令:
ftp>put d:ip.txt
當屏幕提示已經傳輸完畢後,可以輸入相關命令進行查看。
下載具體操作步驟如下:
ftp命令可用於上傳文件,也可以用於下載文件。例如把伺服器images目錄中所有.jpg文件下載至本機D:img中,可執行如下操作(登陸步驟忽略)。
1、ftp>cd images 命令,進入images目錄。
2、ftp>lcd d: 命令,改變本地的工作目錄。
3、ftp>mget *.jpg命令,出現「200 Type set to A」提示,輸入「y」,下載所有.jpg文件到本地D:img中。
4、下載工作完畢後,可運行bye命令中斷連接。
Ⅶ FTP命令下載FTP伺服器文件問題
命令語法不對。ftp命令和操作系統命令不能混用。批處理文件執行的是操作系統的命令,不識別ftp shell。
先把ftp所有命令寫入一個文本文件例如d:\temp\f.txt
如果需要用戶名密碼驗證,則直接把用戶名密碼寫在文本前兩行,以後跟其他命令。
創建批處理文件,寫入命令:
ftp -s:(跟文本文件全路徑+文件名擴展名) (伺服器地址)
執行這個批處理文件即可,還可將批處理添加到任務計劃更顯自動化。
一個完整例子:
設D盤有兩個文件夾:d:\MyAppfiles和d:\Music
在d:\MyAppfiles文件夾下創建文本文件getmusic.txt和批處理文件getmusic.bat
getmusic.txt內容如下(括弧中是說明部分,在文本文件中不寫):
lover (用戶名)
passwd (密碼)
cd music (進入伺服器上的Music文件夾)
mget *.mp3
bye
getmusic.bat內容如下:
cd\music
ftp -s:d:\MyAppfiles\getmusic.txt 192.168.0.16
執行getmusic.bat,即可把伺服器192.168.0.16 ftp站點下Music文件下的mp3文件下載到本地d:\Music文件夾下
Ⅷ Delphi中,怎麼使用FTP主動下傳文件
提供個思路吧!
1、可以利用FTP方式,在伺服器駕設一個FTP伺服器,在DEPHI中只要用FTP控制項就可以直接傳送!,ftp上傳可以去度娘查……相當多
2、利用//192.168.0.1方式 ,這種方式等同於!