伺服器和終端如何傳輸文件原理
① ftp文件傳輸原理
在遇到了一個wireshark數據包分析題之後,看到了ftp的相關信息,但是沒找到相關的flag信息,請教了大佬的解釋,才知道ftp文件傳輸並不是在21埠,ftp文件傳輸有主動和被動兩種方式,
被動(PASV)模式:
PASV(被動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條控制連接。當需要傳送數據時,伺服器在命令鏈路上用PASV命令告訴客戶端:「我打開了XXXX埠,你過來連接我」。於是客戶端向伺服器的XXXX埠發送連接請求,建立一條數據鏈路來傳送數據。
伺服器控制埠(21),伺服器端等待的數據傳輸埠(動態申請)
ftp伺服器動態申請一個埠(一般大於1024)然後告訴客戶端,我在這個埠上等待你的連接,客戶端收到以後便向伺服器的這個埠發起連接,數據連接建立以後,數據傳輸就可以開始了
埠計算方法:172,16,101,104,7,254,256*7+254=2046
一次完整的被動連接及數據傳輸過程:
狀態: 正在連接 172.16.101.104:21...
狀態: 連接建立,等待歡迎消息...
響應: 220 Serv-U FTP Server v6.4 for WinSock ready...
命令: USER test
響應: 331 User name okay, need password.
命令: PASS ****
響應: 230 User logged in, proceed.
狀態: 已連接
狀態: 讀取目錄列表...
命令: PWD
響應: 257 "/" is current directory.
狀態: 列出目錄成功
狀態: 正在連接 172.16.101.104:21...
狀態: 連接建立,等待歡迎消息...
響應: 220 Serv-U FTP Server v6.4 for WinSock ready...
命令: USER test
響應: 331 User name okay, need password.
命令: PASS ****
響應: 230 User logged in, proceed.
狀態: 已連接
狀態: 開始上傳 E:\Downloads\liugong\liugong\404.htm
命令: CWD /
響應: 250 Directory changed to /
命令: TYPE A
響應: 200 Type set to A.
命令: PASV
響應: 227 Entering Passive Mode (172,16,101,104,8,86)
命令: STOR 404.htm
響應: 150 Opening ASCII mode data connection for 404.htm.
響應: 226 Transfer complete.
狀態: 文件傳輸成功,傳輸了 2,052 位元組 (用時1 秒)
狀態: 讀取目錄列表...
命令: TYPE I
響應: 200 Type set to I.
命令: PASV
響應: 227 Entering Passive Mode (172,16,101,104,8,88)
命令: MLSD
響應: 150 Opening BINARY mode data connection for MLSD.
響應: 226 Transfer complete.
狀態: 列出目錄成功
主動(PORT)模式:
PORT(主動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條控制連接。當需要傳送數據時,客戶端在命令鏈路上用PORT命令告訴伺服器:「我打開了XXXX埠,你過來連接我」。於是伺服器從20埠向客戶端的XXXX埠發送連接請求,建立一條數據鏈路來傳送數據。
一次完整的主動連接及數據傳輸過程:
狀態: 正在連接 172.16.101.104:21...
狀態: 連接建立,等待歡迎消息...
響應: 220 Serv-U FTP Server v6.4 for WinSock ready...
命令: USER test
響應: 331 User name okay, need password.
命令: PASS ****
響應: 230 User logged in, proceed.
狀態: 已連接
狀態: 開始上傳 E:\Downloads\liugong\liugong\404.htm
命令: CWD /
響應: 250 Directory changed to /
命令: TYPE A
響應: 200 Type set to A.
命令: PORT 172,16,101,104,8,76
響應: 200 PORT Command successful.
命令: STOR 404.htm
響應: 150 Opening ASCII mode data connection for 404.htm.
響應: 226 Transfer complete.
狀態: 文件傳輸成功,傳輸了 2,052 位元組 (用時1 秒)
狀態: 讀取目錄列表...
命令: TYPE I
響應: 200 Type set to I.
命令: PORT 172,16,101,104,8,77
響應: 200 PORT Command successful.
命令: MLSD
響應: 150 Opening BINARY mode data connection for MLSD.
響應: 226 Transfer complete.
狀態: 列出目錄成功
再回來說這一題,看到
計算埠為 4*256+17=1041
埠過濾,追蹤tcp流
② 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是File Transfer Protocol(文件傳輸協議)的縮寫,用來在兩台計算機之間互相傳送文件。相比於HTTP,FTP協議要復雜得多。復雜的原因,是因為FTP協議要用到兩個TCP連接,一個是命令鏈路,用來在FTP客戶端與伺服器之間傳遞命令;另一個是數據鏈路,用來上傳或下載數據。
FTP協議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。
PORT(主動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,客戶端在命令鏈路上用PORT命令告訴伺服器:「我打開了XXXX埠,你過來連接我」。於是伺服器從20埠向客戶端的XXXX埠發送連接請求,建立一條數據鏈路來傳送數據。
PASV(被動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,伺服器在命令鏈路上用PASV命令告訴客戶端:「我打開了XXXX埠,你過來連接我」。於是客戶端向伺服器的XXXX埠發送連接請求,建立一條數據鏈路來傳送數據。
④ 計算機網路數據傳輸如何實現,有哪些硬體設施
你是來找老師布置的作業的吧 o(∩_∩)o...
物理網路上的數據傳輸的實現:
我們可以認為是這樣的:
數據被分成一個一個的包(Packet)
發送端:
1) 包的數據頭(或數據尾)被第一層協議(比如TFTP協議) 加上第一層應用層協議數據;
2) 然後整個包(包括內部加入的TFTP 信息頭)被下層協議再次包裝(比如UDP),
3) 再這之後數據包會再次被下層協議包裝(比如IP 協議),
4) 最後是被最底層的硬體層(物理層)包裝上最後一層信息(Ethernet 信息頭)。
當接受端的計算機接收到這個包後,
1) 硬體首先剝去數據包中的Ethernet 信息頭,
2) 然後內核在剝去IP 和UDP 信息頭,
3) 最後把數據包提交給TFTP 應用程序,由TFTP 剝去TFTP信息頭,最後得到了原始數據
硬體設施:
計算機網路的硬體系統通常由五部分組成:文件伺服器、工作站(包括終端)、傳輸介質、網路連接硬體和外部設備。文件伺服器一般要求是配備了高性能CPU系統的微機,它充當網路的核心。除了管理整個網路上的事務外,它還必須提供各種資源和服務。而工作站可以說是一種智能型終端,它從文件伺服器取出程序和數據後,能在本站進行處理,一般有有盤和無盤之分。接下來談談傳輸介質,它是通信網路中發送方和接受方之間的物理通路,在區域網中就是用來連接伺服器和工作站的電纜線.目前常用的網路傳輸介質有雙絞線(多用於區域網)、同軸電纜和光纜等.常用的網路連接硬體有網路介面卡(NIC)、集線器(HUB)、中繼器(Repeater)以及數據機(Modem)等。而列印機、掃描儀、繪圖儀以及其它任何可為工作站共享的設備都能被稱為外部設備。
⑤ 一台ftp客戶端與一台ftp伺服器通過一台二層交換機相連,它們之間具體的數據傳輸過程是怎樣的,重點是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無法和內部網路的客戶端建立一個新的連接,造成無法工作。
簡單上傳下載實例(/*....*/為注釋):
先假設有一FTP伺服器,FTP伺服器:qint.ithot.net,用戶名:username 密碼:user1234。在本地電腦D:盤創建一個文件夾"qint"。將要上傳的文件復制到d:\qint里。通過FTP命令將文件從本地上傳,從伺服器下載的步驟如下:
1.「開始」-「運行」-輸入「FTP」
2.open qint.ithot.net
/*這一步可以與第一步合並,在「運行」里直接輸入"ftp qint.ithot.net"。如果你的FTP伺服器不是用的21默認埠,假如埠是2121,那麼此步的命令應在後面空格加2121,即「open qint.ithot.net 2121」*/
3.username
/*提示你輸入用戶名*/
4.user1234
/*提示你輸入密碼,密碼不回顯,打完密碼後回車即可。如果你的密碼輸入錯誤,將不會提示你重新輸入,這時你要鍵入「user」命令,將會出現第三步,你可以重新輸入用戶名和密碼。*/
5.dir
/*你成功登陸後就可以用dir查看命令查看FTP伺服器中的文件及目錄,用ls命令只可以查看文件。*/
6.mkdir qint
/*在FTP伺服器上根目錄下建立qint目錄。*/
7.cd qint
/*進入目錄qint,用「cd 你的目錄名」可以進入當前目錄的下一級目錄,這跟DOS一樣。*/
8.bin
/*採用二進制傳輸。如果你要上傳下載,這一步很重要,不先執行這個命令,上傳下載會很慢。*/
9.lcd d:\qint
/*定位本地默認文件夾,在前面我事先在D:盤創建的。*/
10.!dir
/*查看本地文件夾中的文件及目錄*/
11.put i001.jpg
/*將當前目錄(d:\qint)中的文件i001.jpg上傳到FTP伺服器默認目錄。可以用"mput *.*"將所有文件上傳到FTP伺服器上。*/
12.get d123.jpg
/*將FTP伺服器默認目錄中的文件d123.jpg下載到當前目錄下(d:\qint)。可以用"mget *.*"將所有文件下載到d:\qint*/
13.delete *.*
/*刪除目錄qint中的所有文件。*/
14.cd ..
/*返回至上一級目錄,即根目錄。返回上一級目錄用「cd ..」要注意,中間有空格。返回根目錄用「cd \」。*/
15.mrdir qint
/*刪除目錄qint。刪除目錄,在此目錄下不能有文件及目錄,不然將無法刪除。*/
16.bye
/*退出FTP伺服器*/
上傳下載時特別要注意伺服器及本地電腦的當前目錄,文件是從哪裡到哪裡的問題。查看FTP伺服器的當前目錄命令為pwd,可以用cd命令定位伺服器的目錄。可以用lcd命令定位本地電腦的目錄。以上實例應用到了採用FTP命令行方式上傳下載的最常用命令,你還可以用命令「?」查看更多的命令。
⑥ 一文看懂串口伺服器的原理及用法
串口伺服器 ,也被成為串口到乙太網轉換器、串口設備伺服器。它是終端伺服器通過TCP/IP伺服器的串口進行數據傳輸,然而所有這些名稱都是相同類型的設備,基本是將串列的RS232、RS485或RS422介面鏈接到串口伺服器的串口端,傳輸數據到乙太網數據包,同時可以將數據包再傳回至RS232、RS485或RS422串口端,實現數據雙向透傳。串口伺服器具有自己的實際IP地址,這就是為什麼它有時被稱為伺服器的原因。
原理: 計算機串口(COM埠)和乙太網區域網(LAN)之間傳輸數據的設備。這使得可以使用乙太網代替串列電纜,最大限度地減少工作站的混亂,並允許將串列設備放置在距離計算機較遠的位置。
作用: 串口伺服器可實現串口(RS232/485/422)到乙太網口的數據的雙向透明傳輸。串口伺服器內部模塊自行完成協議轉換。串口側是串口電平數據,乙太網口側是網路數據包,通過簡單設置即可實現聯網功能。
串口伺服器在實際使用過程中,是將TCP/IP協議的乙太網介面映射到計算機的標准串口上,類似對普通串口一樣進汪旦行收發數據。也就是說通常計算機上有1個硬碟,通過串口伺服器可並聯出多個硬碟。比如一般極端及上有COM1和COM2兩個埠,通過串口伺服器可以將其映射出COM3、COM4、COM5等多個埠來。
有人科技提供相關的串口伺服器使用方法,請點擊:
串口伺服器的連接方法 :https://www.usr.cn/News/720.html
串口伺服器的使用方法 :https://www.usr.cn/News/1305.html
串口伺服器的參數設置 :https://www.usr.cn/News/1465.html
串口伺服器如何與組態王連接 :https://www.usr.cn/Down/Software/M4-1.pdf
串口伺服器的應用領域比較廣泛,通常與工業路由器或工業交換機搭配使用。例如無人值守稱重、遠程考勤、門禁道閘等。
電氣火災報警應用: 串口伺服器與電氣火災悉陵蠢報警器的RS232/485串口進行聯網通訊,將報警信息快速傳輸至雲平台,提醒工作人員排除火情。
智慧廠礦照睜陪明: 傳統的廠礦照明設施多是「人管燈」,無法做到與生產、監控聯動,造成能源浪費。串口伺服器與串口照明設備聯網通信,方便照明控制,還能實現設備故障主動上報等功能。
自來水廠供水監控: 目前,自來水廠的供水系統仍是基於串口的組網通訊,只適合單機操作且傳輸距離有限,系統維護困難。串口伺服器可提供通過TCP Server模式實時監控水廠設備工作詳情。
⑦ http中上傳文件的原理
http中上傳文件的原理如下:
在最初的http協議中,沒有上傳文件方面的功能。 rfc1867 ( http://www.ietf.org/rfc/rfc1867.txt ) 為 http 協議添加了這個功能。客戶端的瀏覽器,如 Microsoft IE, Mozila, Opera 等,按照此規范將用戶指定的文件發送到伺服器。伺服器端的網頁程序,如 php, asp, jsp 等,可以按照此規范,解析出用戶發送來的文件。Microsoft IE, Mozila, Opera 已經支持此協議,在網頁中使用一個特殊的 form 就可以發送文件。絕大部分 http server ,包括 tomcat ,已經支持此協議,可接受發送來的文件。各種網頁程序,如 php, asp, jsp 中,對於上傳文件已經做了很好的封裝。
超文本傳輸協議(HTTP,HyperText Transfer Protocol)是互聯網上應用最為廣泛的一種網路協議。所有的WWW文件都必須遵守這個標准。設計HTTP最初的目的是為了提供一種發布和接收HTML頁面的方法。1960年美國人Ted Nelson構思了一種通過計算機處理文本信息的方法,並稱之為超文本(hypertext),這成為了HTTP超文本傳輸協議標准架構的發展根基。
⑧ 文件傳送協議是什麼 客戶端與FTP伺服器交互步驟介紹【詳解】
文件傳送協議,文件傳送協議是什麼意思
FTP是一尺慎種Internet文件傳輸服務,它在Internet和TCP/IP網路中運作。FTP基本上是一種客戶/伺服器協議,在此協議中運行FTP伺服器的系統接受來自運行FTP客戶端的系統的命令。它的主要目的是允許文件從一個主機傳送到另一個主機,而其他的應用系統像網路文件系統(Network File System,NFS)是用來存取遠程文件中的數據的。FTP在各種不同的系統中運作並允許一個系統中的用戶與其他類型的系統進行交互,只要其網路協議是TCP/IP,而不用在意其操作系統。
FTP客戶端運行一種互動式的、命令驅動的、基於文本的介面。盡管FTP有很多嚴格的規定,但它確實支持許多不同的文件類型和文件組織形式。終端用戶調用一個前端應用連到遠程系統,在FTP命令的提示下,就可以進行不同的操作。從客戶到伺服器的命令和從伺服器到客戶的應答都是以7位ASCII碼格式經由控制連接傳送的,因此FTP命令是直觀可讀的。用於分割相繼的命令或應答的是一個回車符和一個換行符。每個命令由4個大寫的ASCB字元構成,有些命令帶有可選的參數。
下面描述了客戶端與FTP伺服器進行交互的基本步驟:
1.啟動FTP命令介面。
2.鍵入?以獲取命令幫助。
3.使用命令open以指定要訪問的FTP伺服器的IP地址或域名。
4.登錄(在公共站點,鍵入anonymous作為登錄名稱)。
5.使用dir或Is命令以列出FTP伺服器中的文件。
6.使用cd命令切換目錄。
7.使用get命令下載文件或put命令上載文件。
8.鍵入close以關閉當前會話(鍵入open可訪問其他的伺服器)。
9.鍵入quit 以結束程序。
在大多數情況下,這些步驟代表您同FTP伺服器進行交互時將要做的大部分事情。就像剛才提到的那樣,您可以鍵入?以查看命令的完整列表,您會發現很多命令。許多FTP作站點使用最小限度的文件訪問安全性,因為他們是向公眾提供文件。這些站點被稱為匿名FTP站點。如第4步中所述,您可以簡單地鍵入anonymous作為您的登錄名稱,然後鍵入電子郵件地址(或其他任何東西)作為您的密碼。
FTP可以在許多不同的文件系統間工作,所以用戶必須清楚FTP伺服器上的文件類型可能與他們的系統不兼容。通常所有的人都能夠查看文本(txt)文件,而且新的通用文件類型如Adobe的PDF(頁面描述語言)也使得這個問題不再是一個很大的問題。還有一件事是:在下載圖形文件或可執行文件之前要鍵入binary;在下載文本文件之前要鍵入ascii。
實際上,FTP客戶端也處理很多命令。它首先翻譯用戶命令,然後使用FTP協議向FTP伺服器發送請求。
命令和數據是通過兩個不同的連接發送的。當您啟動FTP並連接到FTP伺服器時,某個連接針對此伺服器打開,並在您鍵入 close命令之前它將一直保持打開狀態(持續的)。當您請求文件傳輸時,文件的數據讓纖在其他連接中被傳輸,在文件傳輸完成時,此連接將掛斷。因此,如果要傳輸多個文件,典型的FTP會話可能同時有若干個公開的連接。對單個控制和數據使用這種方案意味著在傳輸數據時可使用控制連接。
多年來,多個RFC中都有對FTP的定義。原始的規范要追溯到1971年。有關FTP的最新的文檔是RFC959,〞File Transfer Protocol″(October 1985)。一個非常有用的文坦困仿檔是RFC1635,〞How to Use Anonymous FTP″(Mayl994)。還有一些相關的RFC,包括RFC783,″The TFTP Protocol″(June 1981)。它描述了“一般文件傳輸協議”,該協議是FTP的精簡版,在UDP而不是在TCP中運行。
IETF工作組,也稱為“FTP的擴展(ftpext)”,發展了FTP。