ftp消息中type100
㈠ ftp連接失敗的原因
考慮以下原因:
1、防火牆擋住了
2、沒有查看內容的許可權
3、網管屏蔽了FTP埠
默認是pasv模式,因為服務端防火牆的設置,客戶端不能用pasv模式,將設置中的pasv模式置為空,就正常了
FTP連接伺服器失敗的原因一般有以下幾種:
1、網路不通導致FTP連接伺服器失敗
有時可能是由伺服器或者電腦本地網路有問題,導致FTP連接伺服器失敗。可以通過瀏覽器查看網頁測試是否是網路問題。
2、伺服器出現宕機、死機、重啟等情況
我們在租用伺服器時,都會對伺服器的訪問速度及穩定性進行考察。伺服器出現右機、死機、重啟等情況不僅會導致FIP連接伺服器失敗,也直接導致網站無法正常運營,從而影響網站優化排名及用戶體驗。如果出現此情況,盡快聯系伺服器提供商進行解決。
3、防火牆設置出現問題導致伺服器連接失敗查看我們的防火牆設置是否勾選了「PASV模式」,如果勾選,那麼將取消,然後嘗試重新連接。
4、FTP軟體出現問題導致連接伺服器失敗有時我們會忘記對軟體的及時更新,所以導致使用的FTP軟體版本過低或者被停用,再或者該軟體出現了問題。此時我們可以先刪除現有軟體,然後重新安裝。
5、短時間內連接伺服器次數過多
可能由於FTP連接伺服器的速度稍微有些慢,我們等待的比較著急,就不停地點擊連接按鈕,導致短時間內容連接次數過於頻繁而連接失敗。
6、伺服器被ISP屏蔽導致FTP連接伺服器失敗判斷伺服器是否被ISP屏蔽,可以通過使用代理伺服器進行連接測試。
7、租用的伺服器後台被關閉
如果以上幾種情況都被排除,那麼很有可能是我們所租用的伺服器後台被關閉了,此時需要連接伺服器提供商進行核查與修改。
FTP連接伺服器失敗的原因有很多,基本比較常見的情況就是以上幾種。為保障網站的正常運營,當出現FTP伺服器失敗的情況,應及時檢查其原因並解決。
拓展資料:
FTP是File Transfer Protocol(文件傳輸協議)的縮寫,用來在兩台計算機之間互相傳送文件。相比於HTTP,FTP協議要復雜得多。復雜的原因,是因為FTP協議要用到兩個TCP連接,一個是命令鏈路,用來在FTP客戶端與伺服器之間傳遞命令;另一個是數據鏈路,用來上傳或下載數據。
㈡ 在公司使用FTP出現如下錯誤是什麼原因怎麼解決
這是放火牆的原因,你把你的FTP軟體里的PASV模式(被動模式)前面的勾去掉就可以了。給出三種FTP軟體的取消被動模式的方法,其他的都類似
1、FlashFxp取消被動模式:在工具欄的 站點-站點管理器-要取消的站點 -選項-使用被動模式-去掉其前面的鉤
2、CuteFtp取消被動模式:站點管理器-要取消的站點-右鍵選擇屬性-類型-數據連接類型-使用 port-確定
3、LeapFtp取消被動模昌段式:在工具欄的 站點-肆迅鬧站點管理器-要取消的站點-高級-裂罩使用pasv模式-去掉其前面的鉤
㈢ 打開FTP伺服器上的文件夾時發生錯誤。請檢查是否有許可權訪問該文件夾
FTP數據讀寫失敗一般有幾種情況:
文件損失,不完整,導致傳輸過程驗證失敗。
文件使用中,比如在殺毒或者編輯中的文件,系統佔用是不能傳輸的。
許可權不足,比如針物高對某些用戶,是不能傳輸部分文件的,比如exe等風險文件。
特殊情況,比如文件傳輸過程中,目錄滿了,存儲失敗,這罩配尺個是由伺服器管理員控制的賣兄,如果目錄體積不夠文件傳輸的,聯系管理員協商解決。
㈣ FTP目錄有哪些屬性
一、設置FTP站點主目錄
[操作步驟]
同Web站點一樣,每個FTP站點也必須有一個主目錄,作為其他訪問者用戶FTP站點的起點。在FTP站點中,所有的文件都存放在作為根目錄的主目錄中,這就使其他訪問者對用戶FTP站點中的文件查找變得非常方便。
1.選擇「開始」→「程序」→「管理工具」→「Internet信息伺服器」命令,打開「Internet信息服務」控制台窗口。在控制台目錄樹中,展開「Internet信息服務」節點,再雙擊該節點展開伺服器節點。
2.右擊「默認FTP站點」,從彈出的快捷菜單中選擇「屬性」命令,打開「默認FTP站點屬性」對話框,然後切換到「主目錄」選項卡。
3.選擇「此計算機上的目錄」單選按鈕。如果主目錄在伺服器上,則選擇該單選按鈕;如果主目錄在網路計算機上,則選擇「另一計算機上的共享位置」。
4.在「FTP站點目錄」選項組中,單擊「瀏覽」,選擇主目錄路徑,或者直接輸入主目錄路徑。這里是「默認FTP站點」的主目錄c:\Inetpub\ftproot,未改變它。
5.通過啟用不同復選框來設置目錄許可權。讀取:能夠下載存儲在主目錄或虛擬目錄文件。寫入:上傳文件到FTP站點的主目錄或虛擬目錄。日誌訪問:對主目錄的訪問都記錄在日誌文件中。
6.在「目錄列表風格」選項組中,通過選擇不同的單選按鈕來選擇目錄列表的風格,包括UNIX和MS-DOS風格。設置完畢,單擊「確定」。
7.如果要將「公司主FTP站點」的主目錄,設置為「默認WEB站點」的主目錄c:\Inetpub\wwwroot,單擊「瀏覽」按鈕,找到c:\Inetpub\wwwroot。
二、設置FTP站點的標識碼、連接數、記錄方式
[操作步驟]
在FTP站點屬性中,利用「FTP站點」選項卡可以設置FTP站點的標識碼、連接數和記錄的方式。
選中「默認FTP站點」,右擊「屬性」,選擇「FTP站點」選項卡,在「標識」框中的「說明」:FTP站點的名稱,在「Internet信息服務」管理器樹狀結構中用的就用此名稱。「IP地址」:選擇使用的IP地址,而且尚未指定給其他的FTP站點。「TCP埠」:設置Internet服務的連接埠號,默認為21。
在「連接」框中,設置同時連接FTP站點的用戶數和連接逾時時間。「無限」:不限制同時連接的用戶數。「限制到」:設置同時的最大連接數,請在後面欄位輸入允許的最大連接數。「連接超時」:如果已經沒有傳送資料的用戶連接,設置等待的時間,以秒計。
選中「啟用日誌記錄」,啟動FTP站點的日誌記錄功能,並且允許選擇使用的日誌格式(下拉列表中)。
單擊「當前會話」按鈕,可以查看目前的連接者,顯示用戶的名稱,如果是匿名就是電子郵件地址,來源的IP地址和登錄的時間。選擇某一用戶後,單擊下方的「斷開」按鈕,以便強迫用戶注銷,單擊「全部斷開」將注銷所有的用戶。
三、設置FTP站點是否允許匿名連接
[操作步驟]
在FTP站點屬性中,在「安全帳號」選項卡中設置FTP站點是否允許匿名連接和FTP站點操作員。
選中「默認FTP站點」,右擊「屬性」,選擇「安全帳號」選項卡,在「允許匿名連接」中選擇FTP站點是否允許匿名連接,設置匿名用戶的默認用戶帳號,如果此選項未被選中,則必須有用戶帳戶登錄。選中「只允許匿名連接」選項,則不允許用戶帳戶登錄,只能匿名登錄。選中「允許IIS控制密碼」復選框,將使用IIS來同步密碼。
「FTP站點操作員」:單擊「添加」按鈕,從列表框中選取操作員許可權的Windows2000用戶帳戶,如果要刪除操作員,請選取列表框的用戶帳號,單擊「刪除」按鈕,刪除指定的操作員。
四、設置FTP站點進入、退出和太多連接時的消息正文
[操作步驟]
在FTP站點屬性中,在「消息」選項卡中設置FTP站點進入、退出和太多連接時的消息正文,如果沒有設置,默認使用英文的文字說明。
選中「默認FTP站點」,右擊「屬性」,選擇「消息」選項卡,「歡迎」:當登錄FTP站點時,歡迎用戶進入FTP站點的消息正文。「退出」:當用戶注銷時顯示的消息正文。「最大連接數」:如果目前連接數超過設置的最大連接數時,顯示的警告信息。
五、設置FTP站點訪問限制
[操作步驟]
在FTP站點屬性中,在「目錄安全性」選項卡中能夠設置TCP/IP訪問限制,添加IP地址授予訪問或拒絕訪問FTP站點的許可權。
選中「默認FTP站點」,右擊「屬性」,選擇「目錄安全性」選項卡,選取「授權訪問」或「拒絕訪問」單選,以改變FTP站點訪問的方式。
如果要拒絕某些地址的訪問,則先選取「拒絕訪問」單選框,單擊「添加」按鈕,打開「拒絕以下訪問」對話框。若選擇限制的類型為「單機」,則指定拒絕訪問的IP地址。若選擇限制的類型為「一組計算機」則指定網路標識及子網掩碼。
六、自己練習
[操作步驟]
1.建立一個可以遠程維護默認WEB站點的FTP目錄,即:可以通過FTP服務上傳文件至默認WEB站點的主目錄。
2.此FTP服務每次只能有10個用戶使用此服務。當此FTP服務的連接數達到所允許的最大值時,如果還有用戶想進行連接,發出信息「已達到最大連接數」,且當用戶從此FTP服務注銷時,發出信息「再見」。
㈤ FTP上傳文件錯誤
150 opening ascii mode data connection for /bin/ls.
426 data connection closed, transfer aborted.
這種情況可能是你所在網路安裝了防火牆(或代理),該防火牆(或代理)禁止來自遠程的連接,426 data connection closed, transfer aborted表明了這一點。這時候你可以使用被動傳輸模式(pasv模式),來避免該限制,進行數據傳輸.
解決辦法是在該ftp標簽的站點設置中,設置為被動模式pasv模式.同樣,如果前面有網友出現200 port command successful.
連不上的情況,也用上面方法
1.
connected. waiting for response.
220 serv-u ftp server v4.0 for winsock ready...
user anonymous
530 sorry, no anonymous access allowed.
quit
不允許匿名登錄
2.
connected. waiting for response.
220 serv-u ftp server v4.0 for winsock ready...
user test
331 user name okay, need password.
pass xxxxxx
530 not logged in.
quit
一般是密碼輸入錯誤時出現的信息。密碼不對喲!
3.
connecting to xxx.xxx.xxx.xxx, port 21 (#1)
error: connection timed out
這個表明對方未開機,也可能是對方不在你能訪問的范圍內。可能小區的伺服器檢修中。
4.
connecting to xxx.xxx.xxx.xxx port 21 (#1)
error: connection refused
這個一般表明對方已開機,但未開啟ftp服務(沒有開serv-u)
也可能為對方不提供在這個埠上的服務
5.
connecting to xxx.xxx.xxx.xxx, port 21 (#1)
connected. waiting for response.
disconnected from server.
connection attempt failed. waiting for retry...
出現這個信息實在是很倒霉,你極有可能把重試時間定的太短伺服器封了你喲!
6.
connecting to xxx.xxx.xxx.xxx, port 21 (#1)
connected. waiting for response.
user xxx
331 user name okay, need password
pass xxxxxx
530 not logged in, unauthorized ip address.
quit
沒有登記ip!或者登記的ip和你現在下載的不一樣!趕快重新登記吧!
7.
227 entering passive mode (218,3,87,224,10,232)
retr hfdx-tsoaf.sub.rar
550 sorry, insufficient credit for download - upload first.
傳輸已失敗!
傳輸隊列已完成
你的流量不夠了,重新購買吧!
8.
connected. waiting for response.
220 serv-u ftp server v4.0 for winsock ready...
user user
421 too many users - please try again later.
說明當前你所屬的下載組的下載人數已到上限,請過些時候再嘗試,用Flashget等的下載工具不斷嘗試聯接的人請講嘗試時間調大一點,否則會被伺服器封閉一段時間的IP
9.
150 opening ascii mode data connection for /bin/ls.
426 data connection closed, transfer aborted.
這種情況可能是你所在網路安裝了防火牆(或代理),該防火牆(或代理)禁止來自遠程的連接,426 data connection closed, transfer aborted表明了這一點。這時候你可以使用被動傳輸模式(pasv模式),來避免該限制,進行數據傳輸.
解決辦法是在該ftp標簽的站點設置中,設置為被動模式pasv模式.同樣,如果前面有網友出現200 port command successful.
連不上的情況,也用上面方法
Connecting to xxx.xxx.xxx.xxx, Port 21 (#1)
ERROR: Connection timed out
這個表明對方未開機,也可能是對方不在你能訪問的范圍內
-----------------------------------
Connecting to xxx.xxx.xxx.xxx Port 21 (#1)
ERROR: Connection refused
這個一般表明對方已開機,但未開啟FTP服務(沒有開Serv-U)
也可能為對方不提供在這個埠上的服務
-----------------------------------
Connecting to xxx.xxx.xxx.xxx, Port 21 (#1)
Connected. Waiting for response.
Disconnected from server.
Connection attempt failed. Waiting for retry...
出現這個信息實在是很倒霉,你極有可能被對方Ban了。
如果只是Ban幾分鍾or幾小時or一天還好,不然只有和站長說說好話,讓他給你解封吧。
-----------------------------------
110 Restart marker reply. In this case, the text is exact and not left to
the particular implementation; it must read: MARK yyyy = mmmm where yyyy is
User-process data stream marker, and mmmm server s equivalent marker (note
the spaces between markers and "=").
重新啟動標志回應。這種情況下,信息是精確的並且不用特別的處理;可以這樣看:標記 yyyy = mmm 中 yyyy是 用戶進程數據流標記,mmmm是伺服器端相應的標記(注意在標記和等號間的空格)
-----------------------------------
120 Service ready in nnn minutes.
服務在NNN時間內可用
-----------------------------------
125 Data connection already open; transfer starting.
數據連接已經打開,開始傳送數據.
-----------------------------------
150 File status okay; about to open data connection.
文件狀態正確,正在打開數據連接.
-----------------------------------
200 Command okay.
命令執行正常結束.
-----------------------------------
202 Command not implemented, superfluous at this site.
命令未被執行,此站點不支持此命令.
-----------------------------------
211 System status, or system help reply.
系統狀態或系統幫助信息回應.
-----------------------------------
212 Directory status.
目錄狀態信息.
-----------------------------------
213 File status.
文件狀態信息.
-----------------------------------
214 Help message.On how to use the server or the meaning of a particular
non-standard command. This reply is useful only to the human user. 幫助信息。
關於如何使用本伺服器或特殊的非標准命令。此回復只對人有用。
-----------------------------------
215 NAME system type. Where NAME is an official system name from the list
in the Assigned Numbers document.
NAME系統類型。
-----------------------------------
220 Service ready for new user.
新連接的用戶的服務已就緒
-----------------------------------
221 Service closing control connection.
控制連接關閉
-----------------------------------
225 Data connection open; no transfer in progress.
數據連接已打開,沒有進行中的數據傳送
-----------------------------------
226 Closing data connection. Requested file action successful (for example,
file transfer or file abort).
正在關閉數據連接。請求文件動作成功結束(例如,文件傳送或終止)
-----------------------------------
227 Entering Passive Mode (h1,h2,h3,h4,p1,p2).
進入被動模式
-----------------------------------
230 User logged in, proceed. Logged out if appropriate.
用戶已登入。 如果不需要可以登出。
-----------------------------------
250 Requested file action okay, completed.
被請求文件操作成功完成
-----------------------------------
257 "PATHNAME" created.
路徑已建立
-----------------------------------
331 User name okay, need password.
用戶名存在,需要輸入密碼
-----------------------------------
332 Need account for login.
需要登陸的賬戶
-----------------------------------
350 Requested file action pending further information
對被請求文件的操作需要進一步更多的信息
-----------------------------------
421 Service not available, closing control connection.This may be a reply
to any command if the service knows it must shut down.
服務不可用,控制連接關閉。這可能是對任何命令的回應,如果服務認為它必須關閉
421 Too many users - please try again later.
太多用戶,那就過會再連
-----------------------------------
425 Can t open data connection.
打開數據連接失敗
-----------------------------------
426 Connection closed; transfer aborted.
連接關閉,傳送中止。
-----------------------------------
450 Requested file action not taken.
對被請求文件的操作未被執行
-----------------------------------
451 Requested action aborted. Local error in processing.
請求的操作中止。處理中發生本地錯誤。
-----------------------------------
452 Requested action not taken. Insufficient storage space in system.File
unavailable (e.g., file busy).
請求的操作沒有被執行。 系統存儲空間不足。 文件不可用
-----------------------------------
500 Syntax error, command unrecognized. This may include errors such as
command line too long.
語法錯誤,不可識別的命令。 這可能是命令行過長。
-----------------------------------
501 Syntax error in parameters or arguments.
參數錯誤導致的語法錯誤
-----------------------------------
502 Command not implemented.
命令未被執行
-----------------------------------
503 Bad sequence of commands.
命令的次序錯誤。
-----------------------------------
504 Command not implemented for that parameter.
由於參數錯誤,命令未被執行
-----------------------------------
530 Not logged in.
一般來說是密碼錯誤。
530 Sorry, no ANONYMOUS access allowed.
這個就是不許匿名登錄
530 Not logged in, unauthorized IP address
這個有點麻煩,你的IP不在站長允許訪問的IP范圍內,只有和站長聯系,讓他把你的IP網段加入Allow Access列表裡吧
530 Not logged in, only one(也有可能是two or three) session from same IP allowed at a time.
每個IP只能開一個(也有可能是two or three) 下載,就不要用多線程啦,小心Ban了你。
-----------------------------------
532 Need account for storing files.
存儲文件需要賬戶信息
-----------------------------------
550 Requested action not taken. File unavailable (e.g., file not found, no
access).
請求操作未被執行,文件不可用。
-----------------------------------
551 Requested action aborted. Page type unknown.
請求操作中止,頁面類型未知
-----------------------------------
552 Requested file action aborted. Exceeded storage allocation (for current
directory or dataset).
對請求文件的操作中止。 超出存儲分配
-----------------------------------
553 Requested action not taken. File name not allowed
請求操作未被執行。 文件名不允許
-----------------------------------
這種錯誤跟http協議類似,大致是:
2開頭--成功
3開頭--許可權問題
4開頭--文件問題
5開頭--伺服器問題
㈥ FTP無法連接
注意這段話:
227 Entering Passive Mode (60,165,133,154,13,31)
ERROR: [Data]: Connection refused
PASV模式,PORT模式錯誤~!
如果你用的是ftp客戶端軟體請把被動模式選擇上就可以了。
補充:返回值:227 Entering Passive Mode (60,165,133,154,13,31)說明
每一個ftp發送之後,ftp伺服器都會返回一個字元串,其中包括一個返回代碼和一串說明信息。這個返回碼主要是用於判斷命令是否被成功執行了。除此之外,還有一個非常重要的命令的返回。當發送pasv之後,返回「227 entering passive mode (60,165,133,154,13,31)」。這意味著在伺服器上有一個埠被開放,他將為我們後面接著的數據傳輸作好准備,但是我們如何知道該埠號呢,就在(60,165,133,154,13,31)中,前面四位指伺服器的地址,關鍵是最後兩位,將最後第二位乘256再加上最後一位的值就是我們的埠號,也就是13*256+31。取得埠號之後我們就可以用socket連接到這里。這為我們後面的工作作好准備了,因為我們的取得列表,上傳,下載文件都要依靠它來實現。常用的返回如下:
125 data connection already open; transfer starting.
226 transfer complete.
227 entering passive mode (60,165,133,154,13,31).
230 user xxxxx logged in.
331 password required for xxxxx.
425 can』t open data connection.
226 closing data connection.
ftp客戶端編程結構:
前面已提到了ftp命令及其響應信息。其實我們做ftp客戶端工具只不過是用一個winsocket連接上ftp伺服器,然後象其發送命令。在這個過程中,我們依靠發送——響應的機制。即發送ftp命令——接收返回的響應信息——分析該信息——執行相關操作——發送下一條命令。在一般意義上,有一個socket用來連接ftp伺服器的相關埠(如默認的21),它負責ftp命令的發送和接收返回的響應信息。一些操作如「進入目錄」,「刪除文件」,依靠這個socket發送一條命令就可完成了。然而對於有數據傳輸的操作,主要是顯示遠端目錄列表,上傳、下載文件,我們不得不依靠另一個socket來完成。在進行這種操作之前,必須發送pasv命令,它返回了227開頭的信息,在括弧中有以逗號隔開的六個數字,前四個指伺服器的地址,關鍵是最後兩個,將倒數第二個乘256再加上最後一個數字,其結果就是ftp伺服器開放的用於下一條命令來進行數據傳輸的埠。如我們得到227 entering passive mode (60,165,133,154,13,31),那麼埠號是13*256+31=3359。我們用一個socket來連接這個埠,之後,我們可根據具體的操作(顯示目錄list,上傳文件stor,下載retr)來發送命令。返回的響應代碼為125開頭,也就是連接打開了,可以開始傳輸數據,這時就可用socket的發送或接收方法來傳輸數據。完成之後,伺服器會返回代碼226 transfer complete,表明數據傳輸完成。值得注意的是,我們最好不要一次發送多條命令,例如我們要回到上層目錄並且顯示這個目錄,我們得發送cp,pasv,list,我們不能一下子發送:cp\r\n, pasv\r\n, list\r\n。 而是發送完cp之後等待其響應代碼,然後再發送後面一條。當pasv返回之後,我們打開另一個socket連接到相關埠上。然後發送list,返回125之後在開始接收數據,最後返回226表明完成。對於上傳和下載也是差不多的過程(下載之前要先取得文件的大小)。
㈦ FTP連接過程中,各種信息的含義(例如「530」)
FTP連接過程中,提示530 Login authentication failed錯誤是因為填寫錯了ftp密碼。
解決方法:
登陸客戶中心,客戶中心 > 會員中心 > 產品與服務(不同的主機提供商可能不同僅供參考)進入購買的那個套餐,下面有個登陸詳情然後輸入新密碼就行了,這樣ftp就可以用了。
FTP登錄常見提示錯誤:
1.connected. waiting for response. 220 serv-u ftp server v4.0 for winsock ready...
user anonymous 530 sorry, no anonymous access allowed. quit
不允許匿名登錄
2.connected. waiting for response. 220 serv-u ftp server v4.0 for winsock ready...
user test 331 user name okay, need password. pass xxxxxx 530 not logged in. quit 一般是密碼輸入錯誤時出現的信息。
3.connecting to xxx.xxx.xxx.xxx, port 21 error: connection timed out
這個表明對方未開機,也可能是對方不在能訪問的范圍內。可能小區的伺服器檢修中。
4.connecting to xxx.xxx.xxx.xxx port 21 error: connection refused
這個一般表明對方已開機,但未開啟ftp服務(沒有開serv-u),也可能為對方不提供在這個埠上的服務
5.connecting to xxx.xxx.xxx.xxx, port 21 connected. waiting for response. disconnected from server. connection attempt failed. waiting for retry...
出現極有可能是重試時間定的太短被伺服器封了。
6.connecting to xxx.xxx.xxx.xxx, port 21 connected. waiting for response. user xxx
331 user name okay, need password pass xxxxxx 530 not logged in, unauthorized ip address. quit
沒有登記ip,或者登記的ip和現在的不一樣,重新登記即可。
7.227 entering passive mode (218,3,87,224,10,232) retr hfdx-tsoaf.sub.rar 550 sorry, insufficient credit for download - upload first.
傳輸已失敗.傳輸隊列已完成但流量不夠了,重新購買。
㈧ FTP 錯誤: 讀取目錄列表失敗
你好,ftp出現不能下載上傳或者連接不上或者讀取列表失敗的情況,多半跟本地網路或者使用不同的ftp軟體差異有關系,你可以嘗試以下幾種方法解決。1,更換ftp軟體的連接模式,一般有被動模式和主動模式,更換一下試試。2,更換一下軟體,建議用FlashFXP
這個軟體試一下。3,更換本地網路ip,或者重啟路由器再試。以上三種方法都解決不了你的問題,你可以去找你的供應商,看看是不是伺服器的問題。
㈨ ftp的解讀
、什麼是FTP:文件傳輸協議原理
互聯網文件傳輸協議(File Transfer Protocol ,FTP) 標準是在RFC959說明的。該協議定義了一個從遠程計算機系統和本地計算機系統之間傳輸文件的一個標准。一般來說,傳輸文件的用戶需要先經過認證以後才能登錄網站,然後方能訪問在遠程伺服器的文件。而大多數的FTP伺服器往往提供一個GUEST的公共帳戶來允許沒有遠程伺服器的用戶可以訪問該FTP伺服器。
一個FTP會話通常包括五個軟體元素的交互。
用戶介面 提供了一個用戶介面並使用客戶端協議解釋器的服務
客戶 PI 客戶協議解釋器,其項遠程伺服器協議機發送命令並且驅動客戶數據傳輸過程
伺服器PI 伺服器協議解釋器,響應客戶協議機發出的命令並驅動伺服器端數據傳輸過程
客戶 DTP 客戶數據傳輸過程,其負責完成和伺服器數據傳輸過程及客戶端本地文件系統的通信
服務DTP 伺服器數據傳輸過程,其負責完成和客戶數據傳輸過程及伺服器端文件系統的通信
在RFC 959中,一般使用用戶這個名詞來指代客戶。RFC 959定義了客戶PI和伺服器PI交互的方式和規范。用戶介面與PI和DTP交互的機理都並不是協議標準的一部分。PI和DTP往往通常是在同一個程序模塊中實現的。
在FTP會話中,一共會存在有兩個獨立的網路連接,一個是由兩端的PI使用的,另一個是由兩端的DTP使用的。PI之間的連接一般被稱作控制連接(control connection),DTP之間的連接被稱做數據連接(data connection)
使用TCP服務的控制和數據連接
通常情況下,FTO伺服器監聽埠號21來等待控制連接建立請求。而數據連接埠號的選擇依賴於控制連接上命令。通常是客戶發送一個控制消息來指定客戶監聽並等待伺服器端發送數據連接建立請求的埠號。
對數據傳輸和控制命令傳輸來使用不同的獨立連接有如下優點:兩個連接可以選擇不同的合適服務質量,如:對控制連接來說高需要更小的延遲時間,對數據連接來說需要更大的數據吞吐量;而且可以避免實現數據流中的命令的通明性及逃逸。
當傳輸建立時,總是由客戶端首先發起。然而客戶和伺服器都可能是數據發送者。除了傳輸用戶請求下載文件,數據傳輸過程同樣在客戶端請求列伺服器端目錄結構時建立。
1.命令選擇
當一個傳輸建立時,一般通常需要指定四個方面的屬性:
文件類型
該屬性指定如何將文件的數據匹配成適於傳輸的格式,一共有四種可能的選擇:
ASCII文件類型
在發送端,文件從本地文本文件格式轉換為 NVT ASCII格式,每行結束有一個CR/LF對來標識。 在接收端,再被轉換為本地的文本格式。
這說明了為什麼Unix主機之間傳輸文本文件為何傳輸的數據量要大於文件的實際大小。若傳輸一段端或傳輸兩端都不使用ASCII文本編碼,則是應該由數據傳輸過程來實現本地編碼和NVT ASCII 編碼之間的轉換。
EBCDIC文件類型
類似於ASCII,區別僅僅上使用EBCDIC字元編碼
圖象 (或二進制)文件類型
文件以本地傳輸內容傳輸,在遠端以同本地完全相同的內容存儲。
本地文件系統
用在位元組大小不是8位的環境下。沒位元組位數由發送者指定。
在實際應用中,只有ASCII和圖象格式使用的較多。
格式控制
該屬性是和將文本文件最後傳送到列印設備相關的,其中有多種方式來實現將垂直格式信息編碼到文件中,包括指示一個新頁開始的方式。有如下方式可供選擇:
無須列印格式控制,這是預設值
Telnet列印控制,在telnet協議中定義的控制字元包含在數據流中。.
Fortran列印控制,
該屬性在實際中很少使用。
結構
文件可以擁有內部結構,在傳輸中該結構被保留。由數據傳輸過程來負責在傳輸中的結構及本地結構之間相互匹配,有三種可能性:
文件結構
這實際上意味著文件被看作沒有內部結構的連續的位元組流。
記錄結構
文件是有一系列記錄組成的結構。這只適用於文本文件。
頁面結構
也可以稱做塊結構。每一頁都伴隨一個頁號來傳輸,從而以順序的方式來完成傳輸。
頁面結構很少在實際中遇到。記錄結構也不是很常見。對於文本文件使用ASCII文件類型可以獲得相同的效果。
傳輸模式
該屬性可以取三個不同的值:
流模式
文件的以位元組流的方式傳輸。
塊模式
文件以一個塊連接一個塊的方式傳輸,每個塊的開頭都有一個頭。
壓縮模式
一個簡單的運程長度壓縮編碼被應用,來壓縮連續的相同的位元組。
實際中,一般只有流模式被使用。而壓縮一般通過使用各種其他的工具程序來獲得。
當一次傳輸被建立,客戶端一般指定一個或多個前面說明的屬性。若伺服器端不能支持某個選項,伺服器將用一個錯誤信息來響應客戶端,並不具有協商機制。
FTP提供了充足的命令來使用戶和遠程建立連接並訪問遠程文件系統。
2.命令格式
命令以NVT ASCII串的格式被傳輸。每個命令以三個或四個大寫的NVT ASCII字元開始,後面帶有選項參數和一個CR/LF對來標識命令結束
應答由三個NVT ASCII數字及一個選項消息組成。
一個長的應答也許會有多個消息組成,第一個消息的三個數字後帶有一個破折號,最後的消息不帶有破折號。中間的消息無須攜帶三個數字,但是如果帶了三個數字,則也需要破折號。
下面是所有的命令的列表。帶有星號的命令一般很少使用,所以往往在具體實現中不支持。
String Meaning
ABOR 放棄傳輸
*ACCT 某些系統將帳號和用戶與文件系統相關聯
*ALLO 為即將傳送的文件分配空間。後面攜帶的參數來確定位元組數
*APPE 將文件附加到已經存在的文件後面
CDUP 在遠程系統上將當前目錄切換到上級父目錄
CWD 改變遠程系統的工作目錄
DELE 刪除遠程系統的文件
HELP 讀取伺服器的幫助信息,如:支持的命令的列表
LIST 在一個新建立的數據連接上發送當前工作目錄下的文件名列表
MKD 創建目錄
MODE 指定傳輸模式,可攜帶的參數是:S、B或 C.
NLST 在一個新建立的數據連接上發送一個當前目錄下的「完全」的目錄列表
NOOP 空操作,防止連接斷掉
PASS 提供一個用戶登錄密碼,必須立即跟隨在USER命令後
*PASV 指定伺服器數據傳輸過程監聽等待客戶端的數據連接連接建立請求
PORT 指定客戶端監聽等待伺服器端建立的連接的埠號
PWD 顯示伺服器端的當前工作目錄名
QUIT 退出登錄並終止連接
*REIN 重新初始化,退出登錄但是並不斷開連接,後面必須隨後發出一個新的USER命令
*REST 從伺服器的一個標識處重新開始傳輸
RETR 從遠程系統取回一個文件
RMD 刪除一個目錄
*RNFR 指定要被命名的文件的老的路徑名,隨後必須是一個RNTO命令
*RNTO 指定要被命名的文件的新的路徑名
*SITE 站點特有的伺服器提供的服務
*SMNT 結構載入,提供一個文件系統結構的遠程系統路徑名
*STAT 狀態信息
STOR 上載一個文件到伺服器上,若文件已經存在則覆蓋
*STOU 上載一個文件到伺服器上,不覆蓋已經存在的文件
STRU 指定文件結構,參數可以是F、R或P.
*SYST 報告遠程系統的操作系統類型
TYPE 指定文件類型,參數可以是A、E、I、L只有TYPE A和TYPE I常用
控制連接命令應答有如下形式:
Type Description
1yz 主動初步應答,在發送另一個命令以前等待另一個應答
2yz 主動最後應答,最後一個命令成功結束
3yz 主動中間應答,必須再發送一個命令
4yz 暫時被動應答,要求的動作當時不能完成,但可以重試
5yz 永久被動應答,要求的動作不能完成,不應該重試
"y"數字編碼進一步的信息
Digit Meaning
0 語法錯誤
1 信息
2 連接狀態
3 認證和記帳
4 保留
5 File s文件系統狀態
下面是一些典型的消息:
Number Meaning
125 數據連接打開,傳輸開始
200 命令OK
331 用戶名OK 需要輸入密碼
425 不能打開數據連接
452 錯誤寫文件
500 語法錯誤-不可識別的命
具體的詳細情況可以參見RFC
㈩ FTP傳輸協議命令中type i 和type a的區別是什麼
ftp傳輸中,傳輸模式有兆做坦Binary和Ascii兩種方式。
Binary按照二進制形式傳輸,傳輸前後的文件是一樣的。
Ascii是按照文本形式傳輸,在unix和windows下,文本的行結束字元不一樣,一個是'\n',一個是'\n\r'。Ascii傳輸的時候胡塌,自動轉換了行結束字元。
通常情族桐況下,最好按照Binary來傳輸。
你使用的type i和type a應該是簡寫,我的ftp中沒有。
通常使用的指令是binary或者type binary,ascii或者type ascii。