目錄服務器
一、環境拓撲配置學習
二、TFTP協議學習操作系統
2.一、協議概述3d
2.二、TFTP報文類型code
2.三、TFTP端口號分配blog
TFTP英文全稱:Trivial File Transfer Protocol,中文全稱:簡單文件傳輸協議。提供不復雜、開銷不大的文件傳輸服務。端口號爲69。基於UDP協議。
TFTP共定義了五種類型的包,類型的區分由包數據前兩個字節的Opcode字段區分,分別是:
TFTP客戶端發送read request和write request報文的時候,目的端口是69。而Data、Acknowledgement、Error不使用69端口,它們使用的是隨機端口1024~5000。
不一樣的操做系統有不一樣的端口號規定Linux使用32768~61000、Windows 使用1025~5000
客戶端使用端口65462向服務端69端口發送讀文件的請求
Read requst(1):表示這個一個讀取文件的請求
Source file:表示源文件是 1.txt
Type:表示傳輸類型爲8字節
Tsize:表示文件大小爲0
客戶端使用端口65462向服務端69端口發送寫文件的請求
Write requst(2):表示這個一個寫文件的請求
DESTINATION file:表示目標文件是 1.txt
Type:表示傳輸類型爲8字節
服務端使用端口58780向客戶端65461端口發送write requst報文的響應包
Acknowledgement(4) 表示這是一個響應報文
DESTINATION file:1.txt 表示目標文件是 1.txt
Block:0 表示塊代碼爲0
客戶端使用65461端口向服務端58780端口發送數據。
Data packet(3) 表示這是一個TFTP傳輸的數據
DESTINATION file:1.txt 表示目標文件是 1.txt
Block:1 表示塊代碼爲1
Length:270 表示數據長度是270
服務端使用58783端口向客戶端的65463端口發送error消息
Error code(5) 表示這個是一個報文內包含錯誤信息
DESTINATION file:1.txt 表示目標文件是 1.txt
Error code:access violation(2) 表示錯誤類型,訪問錯誤
error message 詳細錯誤內容
Error code值:
一、服務端在端口爲69的UDP上等待客戶端發出寫文件請求包
二、客戶端經過UDP發送符合TFTP請求格式的Write requst包給服務端。從UDP包角度看,該UDP包的源端口由客戶端隨意選擇,而目標端口則是服務端的69。
三、服務端收到客戶端的這個請求包後,需發送Acknowledgement給客戶端。對於寫請求包,服務端發送的ACK包block爲0。
四、客戶端發送DATA數據給服務端
五、服務端接收數據並寫文件,而後發送Acknowledgement給客戶端,服務端發送的ACK包block爲1
六、當客戶端發送的DATA數據長度小於512字節時,服務端認爲此次Write requst請求完成。
整體轉換報文瀏覽
包29:客戶端向服務端發送write request報文,發送寫文件的請求。
SIP:10.10.10.二、Sport:65461;DIP:192.168.10.11五、Dport:69
包30:通過防火牆設備SNAT轉換後的write request報文,轉換源IP和源端口,生成連接跟蹤表。
Sip:192.168.10.11四、Sport:10847;Dip:192.168.10.11五、Dport:69
包31:服務端收到write request報文後,發送ack響應報文。
Sip:192.168.10.11五、Sport:58780;Dip:192.168.10.11四、Dport:10847
包32:通過防火牆設備後,防火牆查找連接跟蹤表,找到對應表象,把訪問192.168.10.114的IP轉換爲10.10.10.2,把目的端口10847轉換成65461
包33:客戶端收到服務端的響應後,向服務端發送上傳的數據
SIP:10.10.10.二、Sport:65461;DIP:192.168.10.11五、Dport:58780
包34:防火牆收到客戶端發送的報文後,匹配NAT策略,將data報文的源IP和源端口轉換爲192.168.10.114和10847
包35:服務器收到data報文後,儲存客戶端發送的數據,而後發送ack響應報文。
Sip:192.168.10.11五、Sport:58780;Dip:192.168.10.11四、Dport:10847
包36:通過防火牆設備後,防火牆查找連接跟蹤表,找到對應表象,把訪問192.168.10.114的IP轉換爲10.10.10.2,把目的端口10847轉換成65461
DNAT的交互通過抓包發現和SNAT的交互報文相同,報文格式沒有改變,只是改變的IP地址不一樣。