TCP/IP——TFTP

一、TFTP:

TFTP(Trivial File Transfer Protocol)即简单文件传输协议,最初打算用于引导无盘系统
和使用TCP的文件传输协议(FTP)不同,为了保持简单和短小,TFTP将使用UDP
TFTP的代码(和它所使用UDP、IP和设备驱动程序)都能适合只读存储器

二、TFTP报文格式

在这里插入图片描述
操作码:1是读,2是写,3是数据,4是确认,5是差错

文件名:要读或者写的文件名

模式:什么编码

块编号:第几块,发送与回复的块编号一样

TFTP(UDP:69)停止等待协议,发一个块编号的数据报,就等待一个块编号数据报的确认,确认了就再发送,不确认就不发送,而且数据报的每一个包的数据都是512字节,除了最后一个包可以不是512字节,由包的大小不是512字节来判断数据报发送完毕。

如果刚好最后一个包是512 字节,有人提出猜想:如果最后一个包刚好是512字节,那么就再发送一个为0字节的数据报。理论上是可行了,但是没有测试过。

TFTP发起者的第一个包目的端口肯定是69,源端口随机(1037)。服务器给确认包源端口随机(57494),目的端口(1037)。然后后面的所有TFTP包都在这两个随机端口间发送。(在防火墙中要放行TFTP,必须inspect TFTP,因为TFTP第一个确认包会换端口)

TFTP报文中是没校验和的,如果要校验TFTP的完整性可以使用MD5,受到整个TFTP报文后进行MD5计算,计算的结果与服务器给的MD5值进行比较。

三、TFTP的安全性

在我们使用TFTP时,一定要指定访问特定的目录下的文件,限制访问目录点。不允许其查看其它目录。

猜你喜欢

转载自blog.csdn.net/weixin_44233369/article/details/87879574