简单文件传输协议(Trivial File Transfer Protocol,TFTP)是 TCP/IP 协议族中一种简单的文件传输协议,用来在客户端与服务器之间进行文件传输。
TFTP 基于 UDP 协议进行文件传输。与 FTP 协议不同的是,TFTP 传输文件时不需要用户进行登录。它只能从文件服务器上下载或上传文件,不能列出目录。本节将讲解 TFTP 协议的工作方式。
协议模式
TFTP 协议模式类似于客户端发送请求,服务器进行响应。由于 TFTP 是基于 UDP 协议的,而 UDP 数据包本身就不是很安全,即发送端发送的数据是否能成功到达接收端是不能确定的。
因此,为了能够让发送端知道接收端已经接收到了发送端发来的数据包,接收端对接收到的每一个数据包都进行确认。
报文类型
TFTP 客户端与服务器进行信息交互的过程中有 5 种报文类型。每种报文类型及含义如下:
- Read Request(RRQ):请求读取报文,表示客户端向 TFTP 服务器发送读取请求,希望从 TFTP 服务器上读取文件,即下载文件。
- Write Request(WRQ):请求写入报文,表示客户端向 TFTP 服务器发送写入请求,希望向 TFTP 服务器写入文件,即上传文件。
- Data(DATA):传输数据包报文,表示客户端与 TFTP 服务器之间进行文件的数据传输。
- Acknowledgment(ACK):确认报文,表示对请求读取、请求写入和传输数据包进行确认。
- Error(ERROR):差错报文,在文件传输过程中,如果出现读取和写入错误,将会产生这种数据包。
构建 TFTP 服务器
为了能够验证 TFTP 协议工作机制,需要构建一个 TFTP 服务器。netwox 工具提供了编号为 167 的模块,它可以构建 TFTP 服务器,允许用户完成简单的文件传输任务。
其语法格式如下:
netwox 167
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/21360.html