TFTP Server

简介

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

TFTP和FTP的区别

  • 安全性区别

FTP支持登录安全,具有适当的身份验证和加密协议,在建立连接期间需要与FTP身份验证通信

TFTP是一种开放协议,缺乏安全性,没有加密机制,与TFTP通信时不需要认证

  • 传输层协议的区别

FTP使用TCP作为传输层协议

TFTP使用UDP作为传输层协议

  • 端口的区别

FTP使用2个端口:TCP端口21,是个侦听端口;TCP端口20或更高TCP端口1024以上用于源连接

TFTP仅使用一个具有停止和等待模式的端口:端口69/udp

  • RFC的区别

FTP是基于RFC 959文档,带有其他RFC涵盖安全措施

TFTP基于RFC 1350文档

  • 执行命令的区别

FTP有许多可以执行的命令,get,put,ls,dir,lcd等等

TFTP只有5个指令可以执行,rrq,wrq,data,ack,error

软件包

服务器端:tftp-server

客户端:tftp

实验

默认情况下,tftp使用/var/lib/tftpboot作为共享目录

#TFTP服务端
[root@wenzi ~]# dnf -y install tftp-server
[root@wenzi ~]# rpm -ql tftp-server
/usr/lib/.build-id
/usr/lib/.build-id/8c
/usr/lib/.build-id/8c/6921a9fb21d66da4fb299d516bce9ee6afea34
/usr/lib/systemd/system/tftp.service
/usr/lib/systemd/system/tftp.socket
/usr/sbin/in.tftpd
/usr/share/doc/tftp-server
/usr/share/doc/tftp-server/CHANGES
/usr/share/doc/tftp-server/README
/usr/share/doc/tftp-server/README.security
/usr/share/man/man8/in.tftpd.8.gz
/usr/share/man/man8/tftpd.8.gz
/var/lib/tftpboot

两种启动方式

若启动tftp.service,则监听程序tftp.socket和服务进程in.tftpd随之自动启动;

若启动tftp.socket,当访问监听端口69,in.tftpd才会启动;和直接启动tftp.service一样

#TFTP服务端
[root@wenzi ~]# systemctl enable --now tftp.service
[root@wenzi ~]# ss -nlpu
State                 Recv-Q                Send-Q                                 Local Address:Port                                 Peer Address:Port
UNCONN                0                     0                                                  *:69                                              *:*                    users:(("in.tftpd",pid=6417,fd=0),("systemd",pid=1,fd=24))
[root@wenzi ~]# touch /var/lib/tftpboot/1.txt


#TFTP客户端
[root@wenzi ~]# dnf -y install tftp
[root@wenzi ~]# tftp 192.168.28.151
tftp> get 1.txt
tftp> quit
[root@wenzi ~]# ls
1.txt  anaconda-ks.cfg 

猜你喜欢

转载自blog.csdn.net/qq_40875048/article/details/132014534