目录
2. windows10作服务器,windows11作客户端
3. windows10作客户端,windows11作客户端
一、tftp协议
1. 特点
- 简单
- 占用资源小,由于TFTP报文比较小,能够迅速复制这些文件
- 适合传递小文件
- 适合在局域网进行传递
- 端口号为69
- 基于UDP实现
- TFTP是一种类似于停止等待协议,TFTP服务器只有收到客户端的确认报文ACK后才会向客户端接着发送新的数据
- 服务器向客户端发送数据的过程中,每次都是发送512B的数据
- 如果客户进程收到某个DATA报文中数据部分的长度小于512B,说明这是收到的最后一个报文
- 如果待发送的数据的总长度正好是512的整数倍,这就意味着最后一个数据报的长度正好为512B,此时服务器进程会再次发送一个包含0字节数据的DATA报文(显然,该报文的总长度为4B=2B操作码+2B块号+0B数据)
- TFTP协议中,用于读文件的连接和用于写文件的连接的建立方式不同
- 缺陷:TFTP分组中并不提供用户名和口令。这是TFTP的一个特性(即“安全漏洞”)
2. TFTP传输过程描述
1. 服务器使用端口号69被动打开连接
2. 客户主动打开连接,它使用临时端口作为源端口而端口69作为为目的端口,向服务器进程发送RRQ报文
3. 服务器主动打开连接,它使用新的临时端口作为源端口,而使用收到的来自客户的临时端口作为目的端口,
向TFTP客户进程发送DATA报文(2B操作码,2B数据块的块号512B数据);
4.客户收到服务器的报文后,发送4B的ACK(2B的操作码和2B的数据块号)给TFTP服务器,
告诉它之前发送给客户的数据报已经收到;
5. 重复步骤3-4,直到所有请求的数据发送完毕。
二、 传输
首先要明白,客户端(Client)要从服务端(Server)拿过来东西,把东西从Server拽到Client,相当于Server发送文件给Client(不能够这样说,只是更好理解)
1. windows10作服务器,交换机作客户端
交换机设备型号:N8560-20SQ(黑盒)
升级交换机系统
![](https://img-blog.csdnimg.cn/direct/861273ce3cae4af2a27c10db563c1491.png)
![](https://img-blog.csdnimg.cn/direct/8f5bf12456014820a9dbfc844682a8a3.png)
选择Tftp Server
Current Directory:是你要传输文件的存放文件夹
Browse:选择文件夹
Server interfaces:你的本机ip,确保要和客户端同处一局域网
Show Dir:显示你这个文件夹下的所有内容
![](https://img-blog.csdnimg.cn/direct/09890085bae845aeba2ea7f786262176.png)
![](https://img-blog.csdnimg.cn/direct/397e6e7a31cc44e1a8881eb60168852f.png)
Local ip:为自定义的ip,通过串口给交换机的ip会因为交换机重启而丢失,故这里只需要确保和你的Server处于同一网段即可。
Remote ip:顾名思义,就是你的Server的地址。
2. windows10作服务器,windows11作客户端
![](https://img-blog.csdnimg.cn/direct/b99062a22e2b4a66aa98036962f933d0.jpeg)
这里和情况1Server端一样,不再赘述。
![](https://img-blog.csdnimg.cn/direct/8cf6bdaaf9864941bddd6aa0886320e3.png)
Client端只需关注红框内的内容即可。
那么文件拿到哪里了呢?
统一拿到了tftpd32最初下载的路径,不要更改该路径
选择Tftp Client
Host:服务端的ip
Post:tftp协议端口号为69
Local File:文件从Server拿到Client后,在Client上的名字(注意文件后缀,否则会损坏,无法显示)
Remote File:Server端要传输的文件名
Block Size:块大小,默认即可
最后点击get
![](https://img-blog.csdnimg.cn/direct/06b9fad2e729461f9556d0b44c730f28.png)
3. windows10作客户端,windows11作客户端
这种情况就是相当于不再是,客户端从服务端手里拿过来,而是客户端1put文件到一个区域,客户端2get该文件from这个区域
![](https://img-blog.csdnimg.cn/direct/d6413f59ae61410db602103541d9b95f.jpeg)
客户端无论是发送文件还是接收文件,路径均要是和tftpd同目录
![](https://img-blog.csdnimg.cn/direct/0f6c361681374f49aa0a284e30eec955.jpeg)
只要是客户端,都是只关注红框内容。
选择Tftp Client
Host:Client客户端自己的ip
Port:同上
Local File:本地文件名
Remote File:扔到远端的文件名
点击Put(注意区别Put和Get时,Local/Remote File的不同意思)
![](https://img-blog.csdnimg.cn/direct/01806d9661794d3bad1120aa525c48d0.png)
Host:填你从哪Get这个文件,当就是填Put到的地址
Port:同上
Local File:文件get到后的文件名
Remote File:远端的文件名
点击Get,那么文件应该拿到tftpd下载目录下
三、 注意
当有windows作客户端时(第2、3情况时),不要更改tftpd刚开始的下载路径,否则会导致作客户端的windows get时没反应。
在传输大文件时,还是比较慢,所以这种方法只是玩玩就行,当因为防火墙不能使用qq传输文件时,可以试试这种方法。
当然也有命令行的方式,感兴趣的可以试试,需要先安装windows提供的tftp服务,具体步骤如下
![](https://img-blog.csdnimg.cn/direct/21954be8fd3c445bbcbdb186bb33d527.png)
一、下载:从服务器下载到本地
![](https://img-blog.csdnimg.cn/direct/a4bc971ff10e492d8925ada8794c85b3.png)
格式:tftp -i 服务器的IP get 源文件 盘符\路径\目标文件名
tftp -i 10.36.120.66 get test.txt C:\Users\Morgan.Yao\Desktop\Morgan.Yao\ybk.txt
二、上传:从本地上传到服务器
格式:tftp -i 服务器IP put 盘符:\路径\源文件名
tftp -i 10.36.120.66 put C:\Users\Morgan.Yao\Desktop\Morgan.Yao\ybk.txt
当然,以上演示是一台主机下。若要两台主机,需要确保一台主机打开tftp32窗口做服务器,若是两台都处于黑窗口,则会因为没有服务器导致连接失败。所以使用cli命令只能是一台做服务器,一台做客户端的情况,而不能是两台都做客户端的情况。
通过scp协议可以省去搭建tftp服务器的时间:具体可参考下面的文章: