tftp命令语法与使用
Busybox下的tftp命令可以用来进行单文件传输。使用的时候,是把电脑作为服务器Server,Busybox作为客户端Client,使用tftp命令可以实现从Server下载单个文件到Client,或者从Client上***个文件到Server。
参数说明:
-l 是local的缩写,后跟存在于Client的源文件名,或下载Client后重命名的文件名。
-r 是remote的缩写,后跟Server即PC机tftp服务器根目录中的源文
件名,或上传Server后重命名后的文件名。
-g 是get的缩写,下载文件时用,
-p 是put的缩写,上传文件时用,
tftp 默认占用的是69端口。
根据上述参数,tftp的命令格式如下:
1、tftp –g/-p 目标文件名 源文件名 服务器地址
-g/-p 目标文件名 源文件名 服务器地址
说明-g表示下载
-p表示上传
可与源文件名相同或不同
下载时加参数-l
上传时加参数-r不可更名
下载时加参数-r
上传时加参数-l 从上述表格说明可知:
从Server下载文件到Client时,使用下面的命令:tftp –g –l 目标文件名 –r 源文件名 服务器地址如命令tftp –g –l B.txt –r A.txt 192.168.1.2作用是从server中的tftp根目录下,下载文件A.txt到Client并更名为B.txt;若不更名,B.txt就改为A.txt.
从Clinet上传文件到Server时,使用下面的命令tftp –p –r 目标文件名 -l 源文件名 服务器地址如命令tftp –p –r D.txt –l C.txt 192.168.1.2作用是从Client上传文件C.txt到Server的tftp根目标下,并更名为D.txt;若不更名,D.txt就改为C.txt.这个命令一般是用于下载或上传后进行更改文件名,如若不更改文件名,可使用以下简单命令2、不更名下载或上传不更名下载命令:
tftp –g –l/-r 源文件名 服务器地址(此时参数-l与-r等效,使用时只使用其中一个);如 tftp –g –l A.txt 192.168.1.2或 tftp –g –r A.txt 192.168.1.2作用相同,都表示Client从Server下载文件A.txt,且不更名。
tftp –p –l/-r 源文件名 服务器地址(此时参数-l与-r等效,使用时只使用其中一个);如 tftp –p –l B.txt 192.168.1.2或 tftp -p –r B.txt 192.168.1.2
作用相同,都表示从Client上传文件B.txt到Server,且不更名。
常见错误
1、从设备上put 文件到PC上时报错:
Connection received from 192.168.1.254 on port 2048 [22/12 10:53:07.351]
Warning : received duplicated request from 192.168.1.254:2048 [22/12 10:53:07.351]
Write request for file <./about.html>. Mode octet [22/12 10:53:07.351]
File <.\about.html> : error 32 in system call CreateFile 另一个程序正在使用此文件,进程无法访问。 [22/12 10:53:07.351]
put不成功
解决:
需要在设备上开防火墙:
iptables-I INPUT -j ACCEPT # 放开IPTABLES规则,允许tftp
2、从设备上put 文件到PC上时报错:
Connection received from 192.168.1.254 on port 2048 [22/12 11:21:31.603]
Write request for file <./open.cap>. Mode octet [22/12 11:21:31.635]
Using local port 4009 [22/12 11:21:31.635]
Warning : received duplicated request from 192.168.1.254:2048 [22/12 11:21:31.635]
<.\open.cap>: rcvd 8 blks, 3971 bytes in 0 s. 0 blk resent [22/12 11:21:31.728]
File <.\open.cap> : error 10054 in system call recv 远程主机强迫关闭了一个现有的连接。 [22/12 11:21:32.244]
解决:
排除原因1的情况下,可能是:
使用win7 64位系统,运行的是tftpd32,在win7 64位系统上必须运行tftpd64。
http://blog.chinaunix.net/uid-375398-id-1991686.html