新闻资讯

新闻资讯 行业动态

简单文件传输协议TFTP

编辑:008     时间:2020-02-29

3.1 TFTP概述

TFTP(Trivial File Transfer Protocol)简单文件传输协议,是一种基于UDP协议在客户端和服务器之间进行简单文件传输的协议。可以认为它是FTP协议的简化版本。

3.2.1 TFTP缺点

TFTP的命令功能不如FTP服务强大,不能遍历目录,在安全性方比FTP差。传输文件采用 UDP 协议,端口号为 69,文件传输过程不如FTP协议可靠。

3.2.2 TFTP优点

TFTP不需要客户端的权限认证, 减少了无谓的系统和网络带宽消耗,因此在传输琐碎(trivial)不大的文件时,效率更高。

3.2 TFTP操作案例

3.2.1 TFTP安装并启动

我们还是继续使用之前的两台虚拟机,在主机ftpserver上安装tftpsever服务,在主机ftp上安装tftp服务。

(1)tftp服务器安装

[root@ftpserver ~]# rpm -q tftp-server package tftp-server is not installed
[root@ftpserver ~]# yum install tftp-server ...省略中间内容
Installed:
  tftp-server.x86_64 0:5.2-22.el7                                           
Complete!
[root@ftpserver ~]

在RHEL7系统中,TFTP服务是使用 xinetd 服务程序来管理的,在安装TFTP软件包后,还需要在 xinetd服务程序中将其开启。

配置之前先看tftp服务器是否安装xinetd服务

[root@ftpserver ~]# systemctl restart xinetd Failed to issue method call: Unit xinetd.service failed to load: No such file or directory.

出现这个结果表示为安装xinetd,需要手动进行安装。

[root@ftpserver ~]# yum install xinetd 

在tftp服务器中,修改/etc/xinetd.d/tftp配置文件,将disable=yes改为no

[root@ftpserver ~]# vim /etc/xinetd.d/tftp  service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /var/lib/tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 } [root@ftpserver ~]# 

修改后重启xinetd服务并添加到开机启动。

[root@ftpserver ~]# systemctl restart xinetd [root@ftpserver ~]# systemctl enable xinetd 

考虑到有些系统的防火墙默认没有允许 UDP 协议的 69 端口,因此 需要手动将该端口号加入到防火墙的允许策略中。

[root@ftpserver ~]# firewall-cmd --permanent --add-port=69/udp success
[root@ftpserver ~]# firewall-cmd --reload success
[root@ftpserver ~]# 

TFTP 的根目录为/var/lib/tftpboot。

在tftp服务器上,创建文件tftptest.txt以供tftp下载

[root@ftpserver ~]# echo "test tftp">/var/lib/tftpboot/tftptest.txt [root@ftpserver ~]# ll /var/lib/tftpboot/  total 4 -rw-r--r--. 1 root root 10 Jan 14 23:05 tftptest.txt
[root@ftpserver ~]#  

(2)fttp客户端安装

[root@ftp ~]# rpm -q tftp package tftp is not installed
[root@ftp ~]# yum install tftp ...省略中间内容
Installed:
  tftp.x86_64 0:5.2-22.el7                                                 
Complete!
[root@ftp ~]# 
3.2.2 使用TFTP

在tftp客户端连接到tftpserver并下载文件

[root@ftp ~]# tftp 192.168.78.101 tftp> get tftptest.txt tftp> quit [root@ftp ~]# ll tftptest.txt -rw-r--r--. 1 root root 10 Jan 14 23:09 tftptest.txt [root@ftp ~]# cat tftptest.txt test tftp [root@ftp ~]#

可以看到已经成功把文件下载到本地了。

3.2.3 TFTP相关的命令

列举几个tftp相关的命令和参数

命令 作用
? 帮助信息
put 上传文件
get 下载文件
verbose 显示详细的处理信息
status 显示当前的状态信息
binary 使用二进制进行传输
ascii 使用 ASCII 码进行传输
timeout 设置重传的超时时间
quit 退出

当然TFTP还有很多其他用户,以后有机会在深入讨论。



原文链接:https://my.oschina.net/u/616618/blog/3177991

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

回复列表

相关推荐