当前位置: 首页 > news >正文

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 
http://www.lryc.cn/news/124672.html

相关文章:

  • 登录验证码实现
  • 2. 获取自己CSDN文章列表并按质量分由小到大排序(文章质量分、博客质量分、博文质量分)(阿里云API认证)
  • 在Windows和MacOS环境下实现批量doc转docx,xls转xlsx
  • 【网络编程(二)】NIO快速入门
  • 【Vue-Router】嵌套路由
  • MySQL索引总结
  • 谷粒商城第十二天-基本属性销售属性管理功能的实现
  • 利用安全区域的概念解决移动端兼容不同手机刘海的问题
  • 数据结构---图
  • 励志长篇小说《周兴和》书连载之十八 内外交困搞发明
  • web基础入门和php语言基础入门 二
  • typeScript 之 Array
  • 【题解】二叉树的前中后遍历
  • 文件操作/IO
  • 基于Java+SpringBoot+vue前后端分离共享汽车管理系统设计实现
  • Mac RN环境搭建
  • log4j教程_编程入门自学教程_菜鸟教程-免费教程分享
  • DP——背包问题
  • 【从零学习python 】29. 「函数参数详解」——了解Python函数参数的不同用法
  • 10个经典战略分析模型,助力洞察市场明确优势
  • C++(Qt)软件调试---将调试工具安装到AeDebug(11)
  • 浅谈限流式保护器在住宅电气防火的应用
  • ChatGPT助力ModStartBlog,博客写作更智能
  • Jpa与Druid线程池及Spring Boot整合(二): spring-boot-starter-data-jpa 踏坑异常处理方案
  • Vue3组件库
  • AUTOSAR从入门到精通-【应用篇】基于 CAN/LIN 总线的智能配电监控系统的研究设计
  • 数据安全服务能力评定资格证书-申请流程
  • 用js快速生成一个简单的css原子库 例如: .mr-18 .pl-18
  • Java鹰眼轨迹服务 轻骑小程序 运动健康与社交案例
  • 【产品经理】微信小程序隐私保护指引