专栏地址:嵌入式开发
专栏文章:
【01】windows安装VMware最新版本(VMware Workstation 17.0 Pro)详细教程
【02】VMware17虚拟机安装Ubuntu最新版本(Ubuntu22.04LTS)详细步骤
【03】Ubuntu22.04 添加samba,并在windows访问 的详细教程
【04】Vmware Pro 17 设置共享文件夹
【05】Ubuntu最新版本(Ubuntu22.04LTS)安装Tftp服务及其使用教程
【06】Windows下的Tftpd32(Tftpd64)软件下载和使用教程-集成了Tftp服务器、客户端
【07】Ubuntu最新版本(Ubuntu22.04LTS)安装nfs服务器及使用教程
【08】Windows下SecureCRT的下载、安装、使用、配置【Telnet/ssh/Serial】
【09】Xshell的下载、使用、配置【ssh、telnet、串口】
目录
一、概述
二、Tftpd32下载、安装
三、Tftpd32 使用教程
3.1 使用Tftpd32
作Tftp服务器
3.2 使用Tftpd32
作Tftp客户端
3.3 busybox的tftp工具使用
Tftpd32
是一个免费、轻量级、开源的、适用于IPv6的32位应用程序,集成了DHCP、TFTP、SNTP和Syslog多种服务,支持tsize, Blocksize 与 Timeout等软件的在线操作,在传输数据时可实现最大性能。同时提供TFTP客户端应用,力求为用户带来最优质的网络使用体验。
Tftpd64
是编译为64位应用程序的同一应用程序。
Tftpd32程序可以从Tftpd32官网下载,官网提供了普通版本和免安装版本,免安装版本带有portable
字样,但官网现有只有英文版,如果需要中文版本,可以下载这个 Tftpd32.zip ,
如果下载的是普通安装版本,可以按照安装向导一步一步安装即可,因为这个软件还不到1M大小,我直接下载免安装版本。免安装版本下载后,直接双击运行即可。运行后,可以看到Tftp服务器、Tftp客户端、DHCP服务器、Syslog服务器等多个标签页,如下图:
虽然Tftpd32
集成了DHCP、TFTP、SNTP和Syslog多种服务,但比较常用的就是用来做Tftp服务器,将文件共享出去,嵌入式开发中,一般用于将uboot、Linux内核、编译完成的程序传输到嵌入式开发板。下面介绍一下Tftpd32作为Tftp服务器或Tftp客户端的使用步骤。
Tftpd32
作Tftp服务器下面使用Tftpd32
作Tftp服务器,使用上一篇文章安装的Ubuntu的Tftp客户端下载文件,使读者可以理解Tftpd32
作Tftp服务器的使用步骤:
1️⃣在Tftpd32
软件选择好要共享的目录,以及服务器地址(该地址需要与Ubuntu可以ping通),我这里选择了F:\tftoboot
作为共享目录,选择了192.168.2.180
作为Tftp服务器地址,然后点击显示目录,可以看到共享目录里面的内容,有一个ser.txt
文件。到这里就完成了Tftpd32
的服务器配置了:
2️⃣在Tftp客户端下载上一步指定的共享目录里的软件,我这里使用Ubuntu的Tftp客户端下载ser.txt
文件。先查看/tftpboot
目录没有任何文件,然后/tftpboot
目录运行tftp客户端,下载ser.txt
文件,下载后再查看/tftpboot
目录,有一个ser.txt
文件,过程打印如下:
wkd@ubuntu:/tftpboot$ ls
wkd@ubuntu:/tftpboot$ tftp 192.168.2.180
tftp> get ser.txt
tftp> q
wkd@ubuntu:/tftpboot$ ls
ser.txt
wkd@ubuntu:/tftpboot$
下载完成后,Tftpd32
的服务器标签页,会打印客户端的ip、端口以及下载的文件、时间、进度:
以上就是使用Tftpd32
作Tftp服务器的演示过程。
Tftpd32
作Tftp客户端接下来,使用Tftpd32
作Tftp客户端,从Ubuntu的Tftp服务器下载文件,使读者可以理解Tftpd32
作Tftp客户端的使用步骤:
1️⃣使用Tftpd32
作Tftp客户端,需要先将点击Tftp客户端
的标签页,然后配置Tftp服务器主机IP和端口号,我这里是使用Ubuntu的Tftp服务器,填的是我的Ubuntu系统的主机IP192.168.2.183
,端口好可以从Ubuntu上Tftp服务器的配置文件/etc/default/tftpd-hpa
查询,默认是69
。
2️⃣接着在Ubuntu的Tftp服务器的共享目录/tftpboot
,创建一个文件ubuntu.txt
,用于共享,
wkd@ubuntu:/tftpboot$ touch /tftpboot/ubuntu.txt
wkd@ubuntu:/tftpboot$ ls /tftpboot/
ser.txt ubuntu.txt
wkd@ubuntu:/tftpboot$
3️⃣在Tftpd32
软件的Tftp客户端标签页设置本地文件和远程文件,
本地文件:下载时,保存到本地的文件名(可以不存在);上传时,本地的一个存在的文件。
远程文件:下载时,Tftp服务器共享目录的某个文件名称;上传时,要保存在Tftp服务器的名称,不能与现有文件重名。
设置完成后,点击下载或上传就可以了。
一般情况下,使用busybox
制作文件系统时,会带有一个tftp
工具,可以在开发板的终端执行ls
查看:
ls /usr/bin/tftp -l
lrwxrwxrwx 1 1000 1000 17 Apr 7 2020 /usr/bin/tftp -> ../../bin/busybox
这个命令的使用方法如下:
BusyBox v1.20.2 (2017-01-04 18:33:28 HKT) multi-call binary.
Usage: tftp [OPTIONS] HOST [PORT]
Transfer a file from/to tftp server
-l FILE Local FILE # 本地文件
-r FILE Remote FILE # 远程文件
-g Get file # 从服务器获取文件
-p Put file # 往服务器推文件
-b SIZE Transfer blocks of SIZE octets