TFTP协议简介

TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。嵌入式linux的tftp开发环境包括两个方面:

一是linux服务器端的tftp-server支持,二是嵌入式目标系统的tftp-client支持。

因为u-boot本身内置支持tftp-client,所以嵌入式目标系统端就不用配置了。

下面就详细介绍一下linux服务器端tftp-server的配置。

1、查看tftp服务是否开启

netstat -a | grep tftp

显示结果为

udp 0 0 *:tftp *:*

表明服务已经开启,就表明tftp配置成功了。

2、tftp使用

复制一个文件到tftp服务器目录,然后在主机启动tftp软件,进行简单测试。

tftp 192.168.1.2
tftp>get <download file>

tftp>put <upload file>
tftp>q

3、tftp命令用法如下

tftp     your-ip-address

【TFTP相关操作命令】

connect:连接到远程tftp服务器
mode:文件传输模式
put:上传文件
get:下载文件
quit:退出
verbose:显示详细的处理信息
tarce:显示包路径
status:显示当前状态信息
binary:二进制传输模式
ascii:ascii传送模式
rexmt:设置包传输的超时时间
timeout:设置重传的超时时间
help:帮助信息
?:帮助信息

4、如果老是出现“AVC Denial, click icon to view”的错误,并不能传输文件,需要作如下修改

修改/etc/sysconfig/selinux,将SELINUX设定为disable
使用命令setenforce 0让selinux配置文件生效

5、Busybox中tftp命令的用法

命令格式为:

tftp [option] ... host [port]

如果要下载或上传文件的话是一定要用这些option的。成都明诚科技。

-g表示下载文件(get)
-p表示上传文件(put)
-l表示本地文件名(local file)
-r表示远程主机的文件名(remote file)

例1:要从远程主机192.168.1.2上下载embedexpert,则应输入以下命令

tftp -g -r embedexpert 192.168.1.2

例2:把文件u-boot-with-spl.bin通过tftp加载到内存的0x80600000处

tftp 0x80600000 u-boot-with-spl.bin

例3:从共享中通过tftp下载文件

tftp 193.169.3.42
tftp>connect
tftp>get demon.txt
tftp>status
tftp>quit

6、Windows下tftp下载

http://tftpd32.jounin.net/tftpd32_download.html

tftp命

令;
tftp -g -r libaacdec.so 10.12.33.102

tftp -g -r ezapp 10.12.33.102 69

参考资料
https://www.cnblogs.com/zhangjiansheng/p/7955470.html
https://www.runoob.com/linux/linux-comm-tftp.html

示例

设备上传文件到电脑(情况一)
①设备ping一下电脑,查看网络通不通,先把网络搞通,比如电脑和设备连同一个WIFI。
②示例命令,上传app文件到电脑,后面的IP必须改为你电脑的IP;
tftp -p -l app 10.12.33.102

设备从电脑获取文件
①设备ping一下电脑,查看网络通不通,先把网络搞通,比如电脑和设备连同一个WIFI。
②示例命令,从电脑上下载app文件到设备,后面的IP必须改为你电脑的IP;
tftp -g -r app 10.12.33.102

Logo

更多推荐