『壹』 FTP是做什麼用的怎麼使用
FTP說簡單一點就是可以進行網路文件共享,可以將你電腦上的資料(一般指的是較大的文件)通過FTP的方式進行公開,也就是將你的電腦設為簡單的伺服器,並且你自己可以設置訪問用戶名和密碼,只要你的電腦是開機的,不管在哪個地方的人都可以通過網路來訪問並下載你共享的文件,前提是要知道你的用戶名和密碼以及訪問的FTP地址
說得很簡單了,不知明白沒有,上面只是關於FTP的理解,要實際使用,則可以通過專業軟體完成,如何你安裝完軟體,應該你不知道的也就知道了,如FTP的地址是什麼,FTP的用戶和密碼怎麼設置,需要共享的文件怎麼選擇等等...
實際方法,說一下簡單的方法吧,自己做過的
1、下載一個Serv-UFTPServerV8的專業FTP軟體,下載地址搜一下,一大堆
2、查一下它的使用說明,網路也很多,沒有的話,直接安裝軟體,中文版的,裡面都有使用說明,你仔細研究一下也就了解了
PS:總的來說,感覺要學習的東西較多,實際上你只要安裝軟體,問題就都可以解決了,這個軟體我自己也用過,很好用,發一張操作界面讓你KK吧,打字好多字噢,希望對你有所幫助!
『貳』 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.
『叄』 急求!ftp命令的全部命令集合
1)[crud[args)1:在本地機中執行交互shell,exit回到FTP環境,列如:!LS*.zip.
2)$macro-amc[args兒執行宏定義macro-name。
3)accountlpassword]:提供登錄遠程系統成功後訪問系統資源所需的補充口令。
4)appendlocal-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[npattemoutpattem]設置文件名映射機制,使得文件傳輸時,文件中的某些字元相互轉換,如:nmapSl.S2.S3[,][,],則傳輸文件a1.a2.a3時,文件名變為a1,a20該命令特別適用於遠程主機為非UNIX機的情況o
40)ntrans[Inchars[outchars]]設置文件名字元的翻譯機制,如ntranslR,則文件名LLI將變為RRR。
41)openhost[port]:建立指定FTP伺服器連接,可指定連接埠。
42)passive:進入被動傳輸方式。
43)prompt:設置多個文件傳輸時的交互提示。
44)proxyFTP-cmd:在次要控制連接中,執行一條FTP命令,該命令允許連接兩個FTP伺服器,以在兩個伺服器間傳輸文件。第一條FTP命令必須為open,以首先建立兩個伺服器間的連接。
45)putlocal-file[remote-file]:將本地文件local-file傳送至遠程主機。
46)vwd:顯示遠程主機的當前工作目錄。
47)qmt-.同bye,退出FTP會話。
48)quoteargl,arg2。。。:將參數逐字發至遠程卸伺服器,如:quote,syst。
49)recvremote-file[Local-file):同get。
50)regetremote-file[Local-file]:類似於get,但若local-file存在,則從上次傳輸中斷處繼續傳輸。
51)rhelp[cmd-name]:請求獲得遠程主機的幫助。
52)rstatus[FILe-name]:若未指定文件名,則顯示遠程主機的狀態,否則顯示文件狀態,
53)rename[FRom)[to]:更改遠程主機文件名。
55)restartmarker:從指定的標志marker處,重新開始get或put,如:restartl30。
56)rmdirdir-name:刪除遠程主機目錄。
57)mnique:設置文件名惟一性存儲,若文件存在,則在原文件後加後綴.1,.2等
58)sendlocal-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。例如:umask3。
71)useruser-name[passwordⅡaccount]:向遠程主機表明自己的身份,需要口令時,必須輸入口令,如:useranonymousmy@emaiL。
72)verbose:同命令行的-v參數,即設置詳盡報告方式,FTP伺服器的所有響應都將顯示給用戶,預設為on。
73)?[cmd]:同help。
『肆』 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。
『伍』 怎麼知道自己電腦的FTP埠號
FTP 的默認埠21,
如果不是默認埠的話,
Windows 在命令行裡面輸入 netstat -an,可以查看開放了哪些埠
Linux和Unix下,輸入 netstat -tp, 可以查看哪些程序開放了哪些埠
『陸』 ftp怎樣使用
分類: 電腦/網路 >> 互聯網
解析:
FTP基礎知識
您是否正准備搭建自己的FTP網站?您知道FTP協議的工作機制嗎?您知道什麼是PORT方式?什麼是PASV方式嗎?如果您不知道,或沒有完全掌握,請您坐下來,花一點點時間,細心讀完這篇文章。所謂磨刀不誤砍柴功,掌握這些基礎知識,會令您事半功倍。否則,很可能折騰幾天,最後一事無成。
FTP基礎知識
FTP是File Transfer Protocol(文件傳輸協議)的縮寫,用來在兩台計算機之間互相傳送文件。相比於HTTP,FTP協議要復雜得多。復雜的原因,是因為FTP協議要用到兩個TCP連接,一個是命令鏈路,用來在FTP客戶端與伺服器之間傳遞命令;另一個是數據鏈路,用來上傳或下載數據。
FTP協議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。
PORT(主動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。
當需要傳送數據時,客戶端在命令鏈路上用 PORT命令告訴伺服器:「我打開了****埠,你過來連接我」。於是伺服器從20埠向客戶端的****埠發送連接請求,建立一條數據鏈路來傳送數據。
PASV(被動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。
當需要傳送數據時,伺服器在命令鏈路上用 PASV命令告訴客戶端:「我打開了****埠,你過來連接我」。於是客戶端向伺服器的****埠發送連接請求,建立一條數據鏈路來傳送數據。
從上面可以看出,兩種方式的命令鏈路連接方法是一樣的,而數據鏈路的建立方法就完全不同。而FTP的復雜性就在於此。
FTP伺服器端的注意事項
一、FTP伺服器是公網IP,用公網動態域名;或是內網IP,用內網專業版TrueHost
1、伺服器如果安裝了防火牆,請記住要在防火牆上打開FTP埠(默認是21)。
2、所有FTP伺服器軟體都支持PORT方式。至於PASV方式,大部分FTP伺服器軟體都支持。支持PASV方式的FTP伺服器軟體,也可以設置為只工作在PORT方式上。
3、為了PASV方式能正常工作,需要在FTP伺服器軟體上為PASV方式指定可用的埠范圍(設置方法)。此外,還要在伺服器的防火牆上打開這些埠。當客戶端以PASV方式連接伺服器的時候,伺服器就會在這個埠范圍里挑選一個埠出來,給客戶端連接。
二、FTP伺服器是內網IP,用內網動態域名標准版cm*natpro*y
這種情況下,FTP伺服器不需要做特殊設置,只要支持PASV方式就可以了。大部分FTP伺服器軟體都支持PASV方式。
FTP客戶端的注意事項
請注意:選擇用PASV方式還是PORT方式登錄FTP伺服器,選擇權在FTP客戶端,而不是在FTP伺服器。
一、客戶端只有內網IP,沒有公網IP
從上面的FTP基礎知識可知,如果用PORT方式,因為客戶端沒有公網IP,FTP將無法連接客戶端建立數據鏈路。因此,在這種情況下,客戶端必須要用PASV方式,才能連接FTP伺服器。大部分FTP站長發現自己的伺服器有人能登錄上,有人登錄不上,典型的錯誤原因就是因為客戶端沒有公網IP,但用了IE作為FTP客戶端來登錄(IE默認使用PORT方式)。
作為FTP站長,有必要掌握FTP的基礎知識,然後指導您的朋友如何正確登錄您的FTP。
二、客戶端有公網IP,但安裝了防火牆
如果用PASV方式登錄FTP伺服器,因為建立數據鏈路的時候,是由客戶端向伺服器發送連接請求,沒有問題。反過來,如果用PORT方式登錄FTP伺服器,因為建立數據鏈路的時候,是由伺服器向客戶端發送連接請求,此時連接請求會被防火牆攔截。如果要用PORT方式登錄FTP伺服器,請在防火牆上打開 1024以上的高端埠。
三、連接用內網標准版cm*natpro*y搭建的FTP服務,必須要用PASV方式。連接任何公網FTP伺服器、或用內網專業版TrueHost搭建的FTP伺服器,PORT方式和PASV方式都可以使用。
當然,使用PORT方式的時候,還要滿足上面的兩個條件。
四、常見的FTP客戶端軟體PORT方式與PASV方式的切換方法。
大部分FTP客戶端默認使用PASV方式。IE默認使用PORT方式。
在大部分FTP客戶端的設置里,常見到的字眼都是「PASV」或「被動模式」,極少見到「PORT」或「主動模式」等字眼。因為FTP的登錄方式只有兩種:PORT和PASV,取消PASV方式,就意味著使用PORT方式。
IE:
工具 -> Inter選項 -> 高級 -> 「使用被動FTP」(需要IE6.0以上才支持)。
CuteFTP:
Edit -> Setting -> Connection -> Firewall -> 「PASV Mode」
或
File -> Site Manager,在左邊選中站點 -> Edit -> 「Use PASV mode」
FlashGet:
工具 -> 選項 -> 代理伺服器 -> 直接連接 -> 編輯 -> 「PASV模式」
FlashFTP:
選項 -> 參數選擇 -> 代理/防火牆/標識 -> 「使用被動模式」
或
站點管理 -> 對應站點 -> 選項 -> 「使用被動模式」
或
快速連接 -> 切換 -> 「使用被動模式」
LeechFTP:
Option -> Firewall -> Do not Use
五、請盡量不要用IE作為FTP客戶端
IE只是個很粗糙的FTP客戶端工具。首先,IE6.0以下的版本不支持PASV方式;其次,IE在登錄FTP的時候,看不到登錄信息。在登錄出錯的時候,無法找到錯誤的原因。在測試自己的FTP網站的時候,強烈建議不要使用IE。
FTP建站的詳細配置過程
請參考這個網頁的說明來配置:
使用Serv-U建立FTP網站
高級話題
一、為什麼沒有公網IP,也能使用PORT方式登錄FTP?
NAT 網關的工作方式是在TCP/IP數據包的包頭里找區域網的源地址和源埠,替換成網關的地址和埠。對數據包里的內容,是不會改變的。而使用PORT方式登錄FTP的時候,IP地址與埠信息是在數據包裡面的,而不是在包頭。因此,沒有公網IP,使用PORT方式是無法從inter上的ftp伺服器下載數據的。
但是,極少數的NAT網關也支持PORT方式。這些NAT網關連數據包裡面的內容都掃描,掃描到 PORT指令後會替換PORT方式的IP和埠。在這種NAT網關下面,用PORT方式就沒問題了。不過,這些網關也只掃描21埠的數據包,如果FTP 伺服器不是用默認的21埠,也無法使用PORT方式。
二、內網可以用PORT訪問其他FTP,為什麼不能用PORT訪問自己的TrueHost FTP?
下面要討論的問題,只是為了說明一些原理,是不影響實際使用的。如果您沒有興趣深究這些原理,不必花時間看。
內網用戶通過支持PORT方式的NAT網關,訪問自己本機利用TrueHost建立的FTP伺服器,FTP命令鏈路的建立過程如下:
FTP客戶端
10.10.0.1
埠*** <==> ISP NAT網關
61.144.1.2
埠**** <==> TH伺服器
*.*.*.*
埠21 <==> TH客戶端 <==> 用戶FTP伺服器
10.10.0.1
埠21
FTP客戶端通過ISP的NAT網關、科邁TrueHost伺服器、TrueHost客戶端,連接用戶本機的FTP伺服器的21埠。
當需要下載數據的時候,FTP客戶端通過這條命令鏈路,向FTP伺服器發送PORT命令。假設命令為:
PORT 10,10,0,1,30,4 (即IP=10.10.0.1 埠=30*256+4=7684)
當命令通過ISP的NAT網關的時候,NAT網關判斷目的埠是21,並且是PORT命令,於是,修改命令里的IP和埠,替換為自己的IP和埠,比如:
PORT 61,144,1,2,50,6 (即IP=61.144.1.2 埠=50*256+6=12806)
用戶的FTP伺服器最終收到的是上面這個PORT命令。於是,FTP伺服器向這個IP和埠發送連接請求,建立數據鏈路。
用戶FTP伺服器
10.10.0.1
埠20 <==> ISP NAT網關
61.144.1.2
埠12806 <==> FTP客戶端
10.10.0.1
埠7684
但是,因為NAT網關的公網IP只能接收外來的連接請求。就是說,61.144.1.2:12806隻能接收其他公網IP的連接請求,對於從NAT內部(10.10.0.1:20)發起的連接請求,是無法建立連接的。為什麼?原因很簡單,因為內網IP要訪問外網,必須要通過NAT建立映射。於是FTP數據鏈路無法建立。於是,用戶無法在自己的機器上通過21埠訪問自己的TrueHost FTP。
我們再來看看,如果FTP埠不是21,比如是22,會發生什麼情況呢?在FTP客戶端發送PORT命令的時候,NAT網關檢測到目標埠是22,因為支持PORT的 NAT網關只監視目的埠是21的數據包,發現目的埠是22的數據包,不做任何處理,完全放行。於是FTP伺服器收到的PORT命令依然是PORT 10,10,0,1,30,4。於是FTP伺服器向這個IP和埠發送連接請求。
用戶FTP伺服器
10.10.0.1
埠20 <==> FTP客戶端
10.10.0.1
埠7684
這種情況下命令鏈路就可以建立起來了。而且是等於本機連接本機,速度飛快。
綜上所述,內網用戶無法用PORT方式通過21埠訪問自己的TrueHost FTP伺服器。如果FTP埠不是21,則可以訪問,而且實際上是本機連接本機。
上面的文字,僅僅是為了說明一些原理,不影響實際使用。如果本機訪問本機,還要通過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。
『捌』 FTP的主要工作過程是怎樣的主進程和從屬進程各起什麼作用
(1)FTP 使用客戶伺服器方式。一個FTP 伺服器進程可同時為多個客戶進程提供服
務。
FTP 的伺服器進程由兩大部分組成:一個主進程,負責接受新的請求;另外有若干
個從屬進程,負責處理單個請求。
主進程的工作步驟:
1、打開熟知埠(埠號為21),使客戶進程能夠連接上。
2、等待客戶進程發出連接請求。
3、啟動從屬進程來處理客戶進程發來的請求。從屬進程對客戶進程的請求處理完畢
後即終止,但從屬進程在運行期間根據需要還可能創建其他一些子進程。
4、回到等待狀態,繼續接受其他客戶進程發來的請求。主進程與從屬進程的處理是
並發地進行。
(2)作用:控制連接在整個會話期間一直保持打開,FTP 客戶發出的傳送請求通過控制連接發
送給伺服器端的控制進程,但控制連接不用來傳送文件。
實際用於傳輸文件的是「數據連接」。伺服器端的控制進程在接收到FTP 客戶發送來
的文件傳輸請求後就創建「數據傳送進程」和「數據連接」,用來連接客戶端和伺服器端
的數據傳送進程。
數據傳送進程實際完成文件的傳送,在傳送完畢後關閉「數據傳送連接」並結束運行。
『玖』 FTP使用詳解
1.什麼是FTP(文件傳輸協議)
FILE TRANSFERPROTOCOL(FTP)意為文件傳輸協議,用於管理計算機之間的文件傳送。FTP通常指文件傳輸服務。
FTP是Internet上使用非常廣泛的一種通訊協議。它是由支持Internet文件傳輸的各種規則所組成的集合,這些規則使 Internet用戶可以把文件從一個主機拷貝到另一個主機上,因而為用戶提供了極大的方便和收益。FTP通常也表示用戶執行這個協議所使用的應用程序(例如:凱屋「上當「),從而獲取所需的信息資料。
FTP和其它 Internet服務一樣,也是採用客戶機/伺服器方式。使用方法很簡單,啟動FTP客戶端程序先與遠程主機建立連接,然後向遠程主機發出傳輸命令,遠程主機在收到命令後就給予響應,並執行正確的命令。FTP有一個根本的限制,那就是,如果用戶未被某一FTP主機授權,就不能訪問該主機,實際上是用戶不能遠程登錄(Remote Login)進入該主機。也就是說,如果用戶在某個主機上沒有注冊獲得授權,沒有用戶名和口令,就不能與該主機進行文件的傳輸。而AnonymousFTP(匿名FTP)則取消了這種限制。
2.什麼是Anonymous FTP(匿名文件傳輸)
Anonymous(匿名文件傳輸)能夠使用戶與遠程主機建立連接並以匿名身份從遠程主機上拷貝文件,而不必是該遠程主機的注冊用戶。用戶使用特殊的用戶名「Anonymous」和「guest」就可有限制地訪問遠程主機上公開的文件。現在許多系統要求用戶將Emai1地址作為口令,以便更好地對訪問進行跟綜。出於安全的目的,大部分匿名FTP主機一般只允許遠程用戶下載(download)文件,而不允許上傳 (upload)文件。也就是說,用戶只能從匿名FTP主機拷貝需要的文件而不能把文件拷貝到匿名FTP主機。另外,匿名FTP主機還採用了其他一些保護措施以保護自己的文件不至於被用戶修改和刪除,並防止計算機病毒的侵入。在具有圖形用戶界面的WorldWide Web環境於1995年開始普及以前,匿名FTP一直是Internet上獲取信息資源的最主要方式,在Internet成千上萬的匿名PTP主機中存儲著無以計數的文件,這些文件包含了各種各樣的信息,數據和軟體。人們只要知道特定信息資源的主機地址,就可以用匿名FTP登但是匿名FTP仍是 Internet上傳輸分發軟體的一種基本方法。
3.什麼是Remote Login(遠程登錄)
Remote Login(遠程登錄)指用戶通過Internet登錄到遠程主機上。在這種連接建立之後,用戶所在的計算就可以作為遠程主機的終端一樣使用。 Internet上遠程登錄的主要方式是Telnet,匿名FTP也需要首先經過遠程登錄才能進行文件傳輸。
4.什麼是Upload(上傳)
Upload(上傳)指把數據從本地計算機傳到遠程主機上,因此受到嚴格的管理和控制,但Upload是提交用戶信息和要求以實現遠程交互應用的基礎。
5.何為FTP連接
進行FTP連接首先要給出目的FTP伺服器的名稱或地址,當連接到FTP伺服器後,一般要進行登錄,在檢驗用戶ID號和口令後,連接才得以建立,某些系統也允許用戶進行匿名登錄。與在所有的多用戶系統中一樣,對於同一目錄或文件,不同的用戶擁有不同的許可權,所以在使用過程中,如果發現不能下載或上載某些文件時,一般是因為用戶許可權不夠。
6.FTP文件傳輸方式
FTP可用多種格式傳輸文件,通常由系統決定,大多數系統(包括UNIX系統)只有兩種模式:文本模式(ASCII)和二進制模式(BIN/IMAGE)。
文本傳輸器使用ASCII字元,並由回車鍵和換行符分開,而二進制不用轉換或格式化就可傳字元,二進制模式比文本模式更快,並且可以傳輸所有ASCII值,所以系統管理員一般將FTP設置成二進制模式。應注意在用FIP傳輸文件前,必須確保使用正確的傳輸模式,按文本模式傳二進制文件必將導致錯誤。
7.FTP的可靠性問題
FTP建立在傳輸層TCP協議之上,TCP是面向連接的協議,負責保證數據從源計算機到目的計算機的傳輸。TCP採用校驗、確認接收和超時重傳等一系列措施提供可靠的傳輸,所以在傳輸過程中FTP程序如果沒有提示錯誤,就無需擔心傳輸問題。