FTP服务 TFTP
nanshan 2024-11-19 07:44 22 浏览 0 评论
前面我们尝试了FTP和SFTP两个协议的使用方式,都是通过图形化的界面来使用的,也是最常用的使用方式,但是也是支持命令行操作的,感兴趣可以自己网上去搜一下相关的命令。
这一篇文章我要介绍的是TFTP协议,这个协议在使用中一般不是图形化的使用,一般都是通过命令来进行操作。
典型的使用场景就是嵌入式设备的程序下载,用你的开发机(或者编译机)作为文件服务器,嵌入式设备通过网络连接到服务器作为客户端,通过命令就可以从服务器下载文件,下载的文件一般都是二进制程序或者相关的配置文件。
为什么嵌入式常用TFTP?
我觉得跟主要还是他的方便性更优,TFTP不需要进行身份验证,只要你知道服务器的地址和文件列表,你就可以下载他的文件,同时使用UDP协议使它的传输速度也比FTP更快。
但是TFTP缺点也很明显,它不及FTP安全,同时TFTP的UDP对传输质量保障也不如FTP的TCP那样好。
下面我们还是从服务器搭建和客户端测试来说明如何使用TFTP。
TFTP服务端
Windows和Ubuntu两种情况下都可能需要作为TFTP服务器,所以我们这里讲解两种环境下的TFTP服务器搭建。
Ubuntu 环境
- 创建tftp的文件服务器目录
ubuntu@ubuntu-virtual-machine:~$ mkdir ~/tftp_root
- 安装tftp服务
ubuntu@ubuntu-virtual-machine:~$ sudo apt install tftp-hpa
ubuntu@ubuntu-virtual-machine:~$ sudo apt install tftpd-hpa
ubuntu@ubuntu-virtual-machine:~$ sudo apt install xinetd
- 配置tftp服务
修改配置文件/etc/default/tftpd-hpa的内容为:
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/ubuntu/tftp_root/"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="-l -c -s"
新建配置文件/etc/xinetd.d/tftp,其内容为:
server tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /home/ubuntu/tftp_root/
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
打开69号端口的防火墙限制
ubuntu@ubuntu-virtual-machine:~$ sudo ufw allow 69/udp
重新启动tftpd服务
ubuntu@ubuntu-virtual-machine:~$ sudo service tftpd-hpa restart
至此,Ubuntu下的TFTP服务配置完成。
Windows环境
- 下载Tftpd64
可以访问下面的官网下载Tftpd64软件对应版本。
https://pjo2.github.io/tftpd64/
- 配置TFTP服务
安装Tftpd64以后打开软件,这是一个非常轻量化的软件。界面如下:
默认打开Tftpd64就是在Tftp Server功能下。
“Current Directory”表示你将要作为文件服务的TFTP目录;
“Server interface”表示你创建服务器使用的网卡,这里很重要否则客户端无法正常访问,简单的方式就是你要确保客户端可以通过ping通你选择的网卡的本机IP地址,比如我这里选择无线网卡的地址是192.168.3.26;
选择完成这两个信息以后TFTP服务就已经搭建完成了。
这里也需要配置一下Windows的防火墙,开放规则也是69端口,也可以直接把防火墙关闭。
TFTP客户端
这里也讲两种客户端使用方法,一种是Windows下使用Tftpd64作为客户端,一种是在嵌入式Linux下使用tftp命令作为客户端的使用,主要是第二种。
Windows环境
打开Tftpd64:
如图点击“Tftp Client”,输入你的服务器IP地址,端口69;
“Local File”写入你本地存储或需要上传到服务器的文件地址;
“Remote File” 写入你下载的服务器文件地址或你需要上传到服务器的文件对应地址;
“Get”按钮用于将服务器上的文件(即Remote File)下载并保存为你的本地文件(即Local File);
“Put”按钮用于将你本地文件(即Local File)上传到服务器并存储为设置的文件地址(即Remote File);
其他区域你就当没看见就行了,TFTP客户端就这两个功能。
嵌入式Linux环境
我这里使用我的树莓派作为客户端来访问Windows搭建的TFTP服务器作为演示。
- 安装TFTP客户端
pi@raspberrypi:~ $ sudo apt install tftp
- 下载文件
pi@raspberrypi:~ $ tftp
tftp> ?
Commands may be abbreviated. Commands are:
connect connect to remote tftp
mode set file transfer mode
put send file
get receive file
quit exit tftp
verbose toggle verbose mode
trace toggle packet tracing
status show current status
binary set mode to octet
ascii set mode to netascii
rexmt set per-packet retransmission timeout
timeout set total retransmission timeout
? print help information
tftp> connect 192.168.3.26
tftp> get test.txt
Received 6 bytes in 0.0 seconds
- 上传文件
pi@raspberrypi:~ $ tftp 192.168.3.26
tftp> put test.txt
Sent 14 bytes in 0.0 seconds
文末
TFTP是一个小型且易用的文件分享方式,主要用在不方便配置FTP工具的情况下使用。
uboot使用的tftp命令有一些差别,具体命令的使用的时候你一定能明白,只要你明白原理和基本的操作步骤。
同时现在交叉编译环境下的文件传输还有一个更好的方案:NFS,又叫网络文件系统,这个后面找时间为大家整理一下。
相关推荐
- F5负载均衡器如何通过irules实现应用的灵活转发?
-
F5是非常强大的商业负载均衡器。除了处理性能强劲,以及高稳定性之外,F5还可以通过irules编写强大灵活的转发规则,实现web业务的灵活应用。irules是基于TCL语法的,每个iRules必须包含...
- 映射域名到NAS
-
前面介绍已经将域名映射到家庭路由器上,现在只需要在路由器上设置一下端口转发即可。假设NAS在内网的IP是192.168.1.100,NAS管理端口2000.你的域名是www.xxx.com,配置外部端...
- 转发(Forward)和重定向(Redirect)的区别
-
转发是服务器行为,重定向是客户端行为。转发(Forward)通过RequestDispatcher对象的forward(HttpServletRequestrequest,HttpServletRe...
- SpringBoot应用中使用拦截器实现路由转发
-
1、背景项目中有一个SpringBoot开发的微服务,经过业务多年的演进,代码已经累积到令人恐怖的规模,亟需重构,将之拆解成多个微服务。该微服务的接口庞大,调用关系非常复杂,且实施重构的人员大部分不是...
- 公司想搭建个网站,网站如何进行域名解析?
-
域名解析是将域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转...
- 域名和IP地址什么关系?如何通过域名解析IP?
-
一般情况下,访客通过域名和IP地址都能访问到网站,那么两者之间有什么关系吗?本文中科三方针对域名和IP地址的关系和区别,以及如何实现域名与IP的绑定做下介绍。域名与IP地址之间的关系IP地址是计算机的...
- 分享网站域名301重定向的知识
-
网站域名做301重定向操作时,一般需要由专业的技术来协助完成,如果用户自己在维护,可以按照相应的说明进行操作。好了,下面说说重点,域名301重定向的操作步骤。首先,根据HTTP协议,在客户端向服务器发...
- NAS外网到底安全吗?一文看懂HTTP/HTTPS和SSL证书
-
本内容来源于@什么值得买APP,观点仅代表作者本人|作者:可爱的小cherry搭好了NAS,但是不懂做好网络加密,那么隐私泄露也会随时发生!大家好,这里是Cherry,喜爱折腾、玩数码,热衷于分享数...
- ForwardEmail免费、开源、加密的邮件转发服务
-
ForwardEmail是一款免费、加密和开源的邮件转发服务,设置简单只需4步即可正常使用,通过测试来看也要比ImprovMX好得多,转发近乎秒到且未进入垃圾箱(仅以Mailbox.org发送、Out...
- 使用CloudFlare进行域名重定向
-
当网站变更域名的时候,经常会使用域名重定向的方式,将老域名指向到新域名,这通常叫做:URL转发(URLFORWARDING),善于使用URL转发,对SEO来说非常有用,因为用这种方式能明确告知搜索引...
- 要将端口5002和5003通过Nginx代理到一个域名上的操作笔记
-
要将端口5002和5003通过Nginx代理到域名www.4rvi.cn的不同路径下,请按照以下步骤配置Nginx:步骤说明创建或编辑Nginx配置文件通常配置文件位于/etc/nginx/sites...
- SEO浅谈:网站域名重定向的三种方式
-
在大多数情况下,我们输入网站访问网站的时候,很难发现www.***.com和***.com的区别,因为一般的网站主,都会把这两个域名指向到同一网站。但是对于网站运营和优化来说,www.***.com和...
- 花生壳出现诊断域名与转发服务器ip不一致的解决办法
-
出现诊断域名与转发服务器ip不一致您可以:1、更改客户端所处主机的drs为223.5.5.5备用dns为119.29.29.29;2、在windows上进入命令提示符输入ipconfig/flush...
- 涨知识了!带你认识什么是域名
-
1、什么是域名从技术角度来看,域名是在Internet上解决IP地址对应的一种方法。一个完整的域名由两个或两个以上部分组成,各部分之间用英文的句号“.”来分隔。如“abc.com”。其中“com”称...
- 域名被跳转到其他网站是怎么回事
-
当你输入域名时被跳转到另一个网站,这可能是由几种原因造成的:一、域名可能配置了域名转发服务。无论何时有人访问域名,比如.com、.top等,都会自动重定向到另一个指定的URL,这通常是在域名注册商设...
你 发表评论:
欢迎- 一周热门
-
-
爱折腾的特斯拉车主必看!手把手教你TESLAMATE的备份和恢复
-
如何在安装前及安装后修改黑群晖的Mac地址和Sn系列号
-
[常用工具] OpenCV_contrib库在windows下编译使用指南
-
WindowsServer2022|配置NTP服务器的命令
-
Ubuntu系统Daphne + Nginx + supervisor部署Django项目
-
WIN11 安装配置 linux 子系统 Ubuntu 图形界面 桌面系统
-
解决Linux终端中“-bash: nano: command not found”问题
-
NBA 2K25虚拟内存不足/爆内存/内存占用100% 一文速解
-
Linux 中的文件描述符是什么?(linux 打开文件表 文件描述符)
-
K3s禁用Service Load Balancer,解决获取浏览器IP不正确问题
-
- 最近发表
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)