网络传输(1):Busybox的TFTP协议

1. 简要说明

熟悉Linux尤其是嵌入式Linux系统的朋友对于Busybox一定不会陌生。Busybox是一个工具软件,里面继承了丰富的Linux应用指令和工具软件。也常被用来做一个极简根文件系统。

如早期的海思系列芯片,智芯的一些边缘侧芯片均使用了Busybox作为根文件系统来使用。极简意味着体量小,但也意味着用户需要动手制作更多的依赖包。Busybox中就包含了一个用于网络传输的TFTP服务器,方便用户进行网络传输,典型的是在交叉编译Host与宿主机之间进行可执行文件或其他文件的交互传输。

2. TFTP

TFTP(Trivial File Transfer Protocol,简单文件传输协议)是基于TCP/IP协议的网络传输软件,被设计用来在客户机与服务器之间进行简单文件传输的协议,因此可提供不复杂、开销不大的文件传输服务。

TFTP的端口号一般默认为69。

TFTP是一个传输文件的简单协议,它基于UDP协议而实现,但有些TFTP协议也可以是基于其它传输协议如TCP来完成的。

3. 命令使用

Busybox的TFTP传输指令相对简单,我们一般默认Host端为Server,在设定好Server的管理路径后,可在Device端通过指令进行小文件的传输。

如我们在Windows PC端使用Tftpd32D软件作为Server端软件,设置好工作路径以后可进行相应的传输。

首先需要注意,如下是指令的选项:


-l: local的缩写,制定本地存放路径;

-r: remote的缩写,指定要下载的文件名(仅是文件名,不包含路径);

-g: get的缩写,表明从Host端读取文件;

-p: put的缩写,表明上传文件值Host端;


执行格式是:


tftp -p/-g -r [Host端文件名] -l [本地存储文件名] [Host IP]


其中"本地存储文件名"不一定非要和"Host端文件名"相同,可用于重命名。

如我们在H:\Tftpd32D\files路径下含有abc.bin文件,Host的IP是192.168.1.3。那么我们可以通过如下指令进行下载:

tftp -g -r abc.bin -l edf.bin 192.168.1.3

这表示,我们从192.168.1.3服务器上下载abc.bin文件,到本地存储到当前路径下,重命名为edf.bin。

如下指令可实现文件上传至Host端。

tftp -p -r abc.bin -l edf.bin 192.168.1.3

相关推荐
数据法师18 分钟前
开源情报收集工具GhostTrack深度测评:IP、手机号、用户名的合规信息查询方案
网络·网络协议·tcp/ip
丑八怪大丑1 小时前
Java网络编程
linux·服务器·网络
想成为优秀工程师的爸爸2 小时前
第三十篇技术笔记:郭大侠学UDS - 人有生老三千疾,望闻问切良方医
网络·笔记·网络协议·tcp/ip·信息与通信
数智工坊3 小时前
【SAM-DETR论文阅读】:基于语义对齐匹配的DETR极速收敛检测框架
网络·论文阅读·人工智能·深度学习·transformer
时空自由民.4 小时前
蓝牙协议之GAP协议
linux·服务器·网络
灰子学技术4 小时前
Envoy HTTP Connection Manager (HCM) 技术文档
网络·网络协议·http
byoass4 小时前
企业云盘与设计软件深度集成:AutoCAD/Revit/SolidWorks插件开发与API集成实战
服务器·网络·数据库·安全·oracle·云计算
智慧光迅AINOPOL5 小时前
全光网设备厂家选型参考:评估要点与技术标准说明
网络·全光网解决方案·全光网·酒店全光解决方案·泛住宿全光网解决方案
qq_三哥啊5 小时前
【mitmproxy】提取 OpenCode 的 API 接口
网络·代理模式
dog2505 小时前
圆锥曲线和二次曲线
开发语言·网络·人工智能·算法·php