亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Linux平臺下建立的ftp客戶端的命令處理

        2016-08-19 19:14:41馮媛媛劉建科
        電腦知識與技術(shù) 2016年20期

        馮媛媛++劉建科

        摘要:FTP(File Transfer Protocol,文件傳輸協(xié)議) 是用于在網(wǎng)絡(luò)上進(jìn)行文件傳輸?shù)囊惶讟?biāo)準(zhǔn)協(xié)議。它屬于網(wǎng)絡(luò)協(xié)議組的應(yīng)用層。本文介紹在Linux平臺下建立的ftp客戶端的控制連接。

        關(guān)鍵詞: 客戶端;服務(wù)器;控制連接;數(shù)據(jù)連接

        中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)20-0044-02

        當(dāng)FTP運(yùn)行程序開始后,首先根據(jù)傳遞參數(shù)創(chuàng)建控制連接,用來和服務(wù)器進(jìn)行通信。控制連接創(chuàng)建成功后,客戶依次向服務(wù)器發(fā)USER和PASS命令。

        1 命令處理函數(shù)

        支持的用戶命令主要分三種。

        1)只在控制連接進(jìn)行通信。如delete,quit,mkdir,rmdir,pwd,rename等。

        2)在控制連接進(jìn)行通信,在數(shù)據(jù)連接進(jìn)行數(shù)據(jù)傳輸。如put,get等。

        3)不進(jìn)行網(wǎng)絡(luò)通信的。如help等。

        2 單連接命令

        這類命令比較容易,向服務(wù)器發(fā)送一個命令,然后接收響應(yīng)碼。實現(xiàn)方式基本上一樣,不同的是傳送給服務(wù)器的FTP命令不一樣。

        函數(shù)模型:

        1)對用戶命令進(jìn)行處理。

        2)發(fā)送命令到服務(wù)器,并接收服務(wù)器響應(yīng)碼,根據(jù)響應(yīng)碼判斷命令是否成功。

        其中cd發(fā)送給服務(wù)器的命令為CWD(將工作的路徑進(jìn)行改變),該命令可以在用戶登錄與賬戶狀態(tài)都保持不變的情況下運(yùn)行,在進(jìn)行數(shù)據(jù)或者是工作目錄下載或者是存儲的時候改變其原來的路徑。但是在這個過程中傳輸?shù)膮?shù)是不會變化的。傳輸參數(shù)就是指的特定目錄的路徑名稱或者是標(biāo)志其他文件的符號。

        其中delete發(fā)送給服務(wù)器的命令為刪除指令,該指令的發(fā)出刪除的目標(biāo)路徑文件是從服務(wù)器的站點(diǎn)上進(jìn)行的。假設(shè)需要進(jìn)行特殊的保護(hù)(像是,在刪除時再次詢問),這個功能是user-FTP進(jìn)行提供的。

        其中quit發(fā)送給服務(wù)器的命令為QUIT(退出現(xiàn)在的登錄模式)此指令是對一個用戶進(jìn)行終止活動,假設(shè)還用戶內(nèi)沒有正在運(yùn)行的文件時,系統(tǒng)會直接將連接關(guān)閉控制,但是假設(shè)此時正在有數(shù)據(jù)傳輸,在傳輸?shù)玫交貞?yīng)以后系統(tǒng)連接關(guān)閉程序。

        其中mkdir發(fā)送給服務(wù)器的命令為MKD(創(chuàng)建新的目錄):該指令是對目標(biāo)路徑創(chuàng)建新的目錄(這是在絕對路徑中)也或者是在相對路徑中對現(xiàn)在工作的路徑進(jìn)行新目錄的創(chuàng)建。

        其中rmdir發(fā)送給服務(wù)器的命令為RMD(目錄刪除):在絕對的路徑下對目標(biāo)路徑進(jìn)行刪除或者是在相對的路徑中對現(xiàn)在正在運(yùn)行的工作子目錄進(jìn)行刪除。

        其中pwd發(fā)送給服務(wù)器的命令為PWD(打印工作目錄):此指令在回應(yīng)中返回當(dāng)前工作目錄名。

        其中rename發(fā)送給服務(wù)器的命令為RNFR和RNTO。

        RNFR(重新命名):該指令是對原來的路徑名稱進(jìn)行重新命名。該指令在執(zhí)行時一定跟著一個重新命名的指令來說明新的名稱下的路徑名稱。

        RNTO(重新命名以后):該指令是緊跟上面的指令說明新更改的路徑名稱的。在對文件進(jìn)行更名時需要上述兩個指令同時完成。

        3 雙連接命令

        這類命令除了要在控制連接進(jìn)行通信,還要在數(shù)據(jù)連接上傳輸數(shù)據(jù)。

        根據(jù)FTP數(shù)據(jù)連接建立的不同形式,將工作形式分為兩種,一是Standard又叫做PORT方式該方式是主動形式,一種是Passive又叫做PASV是一種被動形式。FTP的服務(wù)器內(nèi)Standard模式下發(fā)送一個PORT指令到相應(yīng)的服務(wù)器上。FTP服務(wù)器內(nèi)Passive模式下發(fā)出一個PASV指令到相應(yīng)的服務(wù)器上。上兩種形式的工作原理如下所述:

        在Port模式下客戶端會先于相關(guān)服務(wù)器上的TCP 21端口進(jìn)行連接,指令是借助該通道發(fā)出的,當(dāng)客戶端口接收到需要的數(shù)據(jù)時就需要通過這個端口發(fā)出一個POR的指令??蛻羰褂迷鯓拥亩丝诮邮障嚓P(guān)數(shù)據(jù)這是包含在PORT的指令內(nèi)的。數(shù)據(jù)的傳輸是通過服務(wù)器上自己的端口與客戶指定的端口連接實現(xiàn)數(shù)據(jù)的傳輸。在數(shù)據(jù)的傳輸過程中FTP服務(wù)器需要與客戶端構(gòu)建一個新連接實現(xiàn)數(shù)據(jù)的傳輸。連接過程如下:

        1)所有跟FTP服務(wù)器的連接都要與21端口相連(客戶端的初始狀態(tài)是S<-C)

        2)在FTP服務(wù)器上全部的21端口都比端口1024大(服務(wù)器連接客戶端的控制端口為S->C)

        3)在 FTP服務(wù)器上所有的20端口都比端口1024大(服務(wù)器上與客戶端數(shù)據(jù)端口連接的最初端口值為S->C)

        4)既比1024端口大又與服務(wù)器上的20端口相連接(服務(wù)器接受客戶端發(fā)送的ACK指令的數(shù)據(jù)端口為S<-C)

        Passive模式與Standard模式在構(gòu)建控制通道上是具有相似性的,但是區(qū)別之處在于前者發(fā)出的是Pasv指令后者發(fā)送的是Prot指令。Pasv指令發(fā)送到服務(wù)器以后,任意打開一個級別比較高端的數(shù)據(jù)端口值大于1024的,同時要求客戶端發(fā)出請求數(shù)據(jù)的指令,服務(wù)器上的端口與客戶端口連接,服務(wù)器上的數(shù)據(jù)借助該通道進(jìn)行數(shù)據(jù)的傳輸,此時服務(wù)器上就不需要構(gòu)建一個與客戶端新的連接方式了。連接過程如下:

        1)所有跟FTP服務(wù)器的連接都要與21端口相連(客戶端的初始狀態(tài)是S<-C)

        2)在FTP服務(wù)器上全部的21端口都比端口1024大(服務(wù)器連接客戶端的控制端口為S->C)

        3)隨便一個端口連接到任意一個比端口1024大的端口(服務(wù)器上與客戶端數(shù)據(jù)端口連接的最初端口值為S<-C)

        4)服務(wù)器以及所有遠(yuǎn)程過程中大于端口1024的(服務(wù)器接受客戶端發(fā)送的ACK指令的數(shù)據(jù)端口為S->C)

        ls命令執(zhí)行時首先判斷一下當(dāng)前客戶端采用的是主動模式還是被動模式。

        主動模式下ls命令向服務(wù)器發(fā)送的命令依次如下:

        PORT h1,h2,h3,h4,p1,p2

        LIST

        其中PORT命令將客戶端用來進(jìn)行數(shù)據(jù)連接的地址和端口傳送給服務(wù)器,然后服務(wù)器主動與客戶端建立數(shù)據(jù)連接。連接建立成功后,發(fā)送LIST命令,通知服務(wù)器發(fā)送文件列表,并在數(shù)據(jù)連接讀取服務(wù)器發(fā)來的文件列表。

        被動模式下ls命令向服務(wù)器發(fā)送的命令依次如下:

        PASV

        LIST

        其中PASV命令發(fā)出后,服務(wù)器會返回用來建立數(shù)據(jù)連接的服務(wù)器端的IP地址和端口,讓客戶端進(jìn)行連接,連接建立成功后,發(fā)送LIST命令,通知服務(wù)器發(fā)送文件列表,并在數(shù)據(jù)連接讀取服務(wù)器發(fā)來的文件列表。

        對于PORT數(shù)據(jù)端口:連接數(shù)據(jù)的端口是借助該指令的參數(shù)實現(xiàn)的??蛻襞c服務(wù)器都對數(shù)據(jù)缺口比較缺省,并且通常下該指令不需要必須的相應(yīng)指令進(jìn)行回復(fù)。假設(shè)使用該指令那么相應(yīng)的參數(shù)是由主機(jī)的32位和端口的16位串聯(lián)而成。地址信息以每8位分為一組,每一組的值都是用十進(jìn)制數(shù)表示的,逗號將那個小組分開。例如端口的數(shù)據(jù)指令是PORT h1,h2,h3,h4,p1,p2。那么被動形式PASV:此指令在不缺省的端口等待連接的命令,并不是接到指令后馬上將數(shù)值初始化。服務(wù)器的主機(jī)以及端口的地址是該指令回應(yīng)所包含的內(nèi)容。LIST(列表):該指令指示服務(wù)器向DTP被動列表發(fā)送指令。假設(shè)對路徑名進(jìn)行明確的確定,那么服務(wù)器會將相關(guān)的路徑名稱發(fā)送到文件列表中。但是假設(shè)路徑確定的是文件,那么服務(wù)器傳輸?shù)男畔⒕褪俏募F(xiàn)在狀態(tài)的一個信息。不用參數(shù)就用現(xiàn)階段用戶的目錄或缺省的那部分目錄。

        put和get命令實現(xiàn)方式和ls一樣,只是在數(shù)據(jù)連接建立成功后,發(fā)送給服務(wù)器的命令不一樣,分別STOR和RETR。

        STOR(保存):是把server-DTP接收到的數(shù)據(jù)存儲成服務(wù)器站點(diǎn)上的文件的指令。倘若接收來的路徑文件在原服務(wù)器站點(diǎn)上已經(jīng)有了,那原有的文件就會被新接收的文件數(shù)據(jù)所替換。相反若是接收來的路徑文件原本沒有,這樣就會在服務(wù)站點(diǎn)重新建立一個存儲文件。

        RETR(獲得文件):一個文件的副本用過這個指令用特定的路徑傳送到數(shù)據(jù)連的另一端。而原服務(wù)器站點(diǎn)的原文件狀態(tài)以及內(nèi)容不會發(fā)生變化。

        4 無連接命令

        這類命令不進(jìn)行任何網(wǎng)絡(luò)通信。其中help命令,僅僅打印出系統(tǒng)支持的命令。passive則是通過修改全局變量passivemode來改變FTP的工作方式。

        5 結(jié)束語

        上述為在運(yùn)行過程中客戶向服務(wù)器發(fā)出命令后接收支持用戶命令的三種狀態(tài)。

        參考文獻(xiàn):

        [1] Reynolds J, Request for Comments:959, Network Working Group, October 1985.

        [2] Richard Stevens, Stephen A. Rago. Advanced Programming in the UNIX Environment: Second Edition, Addison Wesley Professional,2005.

        [3] 謝希仁.計算機(jī)網(wǎng)絡(luò)[M].5版.電子工業(yè)出版社,2008.

        国产成人精品曰本亚洲| 亚洲欧美色一区二区三区| 免费a级毛片永久免费| 日韩h网站| 亚洲天堂色婷婷一区二区| 中文字幕乱码熟女人妻在线| 人妻少妇不满足中文字幕 | av免费观看在线网站| 极品人妻少妇av免费久久| 国产办公室沙发系列高清| 一区一级三级在线观看| 三上悠亚av影院在线看| 日本特黄a级高清免费大片| 丰满少妇av一区二区三区| 国产成人精品免费视频大全软件| 艳妇臀荡乳欲伦交换在线播放| 国产精品青草久久久久婷婷| 亚洲人成无码网站十八禁| 日本女优久久精品久久| 蜜桃一区二区三区视频网址| 亚洲精品无amm毛片| 天堂中文资源在线地址| 少妇人妻偷人中文字幕| 精品高朝久久久久9999| 国产福利酱国产一区二区| 国产va在线播放| av在线网站一区二区| 国产亚洲aⅴ在线电影| 中文字幕一区在线观看视频| 无码一区二区三区不卡AV| 久久老熟女一区二区三区| 国产太嫩了在线观看| 国产精品久久久久久久成人午夜 | 香蕉视频在线观看国产| 亚洲av免费高清不卡| 日本a级片免费网站观看| 国产suv精品一区二区883| 成人永久福利在线观看不卡| 成av人片一区二区久久| 久久精品国产亚洲av无码娇色| 亚洲色图视频在线|