1、tftp含义

百度百科的解释为:TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。

因此可以知道tftp就是用来进行文件传输的一种协议,一般也不能传输特别大的文件,常用来传输一些小文件,例如编译好的固件之类的。

2、ubuntu虚拟机上配置tftp

下面来配置一下虚拟机上的tftp,首先需要准备一个文件夹用来存放需要传输的文件,并设置一下这个文件夹是可以被其他程序可读可写的,这样不会在后面因为权限问题导致传输失败。

在这里插入图片描述
创建好的文件夹的位置如下所示:
在这里插入图片描述
下面安装一些tftp,直接使用apt安装即可:

sudo apt-get install tftp-hpa tftpd-hpa
sudo apt-get install xinetd

安装好的效果如下所示:
在这里插入图片描述
之后检查一下相关文件是否存在,使用命令为:(如果和下图一样就没啥问题了)
在这里插入图片描述
下面修改tftp的配置,使用的命令如下所示:

sudo vim /etc/default/tftpd-hpa

将原来的内容替换为:

# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"

效果如下
在这里插入图片描述
之后新建一个文件,将下面的内容复制进去

sudo vi /etc/xinetd.d/tftp

需要复制的内容为:

service tftp
{
socket_type = dgram
wait = yes
disable = no
user = root
protocol = udp
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
#log_on_success += PID HOST DURATION
#log_on_failure += HOST
per_source = 11
cps =100 2
flags =IPv4
}

复制后的效果如下所示:
在这里插入图片描述
下面需要重启一下服务

sudo service tftpd-hpa restart
sudo /etc/init.d/xinetd reload
sudo /etc/init.d/xinetd restart

看到OK说明重启已经完成了
在这里插入图片描述
下面可以进行一个简单的测试,在原有的tftp的文件夹下新建一个文件,之后在另一个路径下使用tftp进行获取到,传输指定的文件,可以看到文件传输成功!
在这里插入图片描述

3、win平台上配置tftp

win平台需要我们提前准备一个工具,用这个工具来实现tftp的传输,工具为tftpd64,直接百度搜索就可以找到,应该是比较经典所以也很好找到,页面如下所示:
在这里插入图片描述
选择客户端页面,试试把刚才的那个文件传过来
在这里插入图片描述
点击get可以看到存在这个文件,点击OK就可以开始进行文件的传输了
在这里插入图片描述
传输来的文件放在开头的文件夹下,如下所示
在这里插入图片描述
下面在来测试下pc端作为客户端的使用,如下所示:
在这里插入图片描述
这里还是线选好路径,可以查看路径下的文件,如下所示:
在这里插入图片描述
因此这里还是用原来的办法进行传输,如下所示:(这里记得要以管理员身份运行,不然权限又不行)
在这里插入图片描述
传输成功,如下所示
在这里插入图片描述

4、需要注意的一些小问题

这里需要注意的是在虚拟机和外部设备进行连接的时候需要的注意的:
在这里插入图片描述
这里是使用NAT模式来实现的,因此外部设备是怎么也找不到这个设备的,所以如果需要外部设备和虚拟机之间进行tftp连接就无法实现,还是需要通过windows来实现,因此这个工具就能派上用处了。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐