1、Linux下安装tftp
首先利用命令:dpkg -l | grep tftp,查看tftp是否安装,如果没有安装,则可以按下面步骤进行安装。
1.安装相关软件包:tftpd-hpa(服务端),tftp-hpa(客户端),xinetd2.sudo apt-get install tftpd tftp xinetd
2、建立tftp服务文件目录
这个目录用于存放宿主机与目标机之间使用tftp时传递的文件,是可以更改为其他地址的,例如/tftpboot,根据自己需求来设定,并且更改其权限。
sudo mkdir /tftpbootsudo chmod 777 /tftpboot
3、建立配置文件
在/etc/xinetd.d/下建立一个配置文件tftp,Linux下的tftp服务是由xinetd(还有openbsd-inetd等其它服务)所设定的,默
认情况下tftp是处于关闭状态,所以要修改tftp的配置文件,开启tftp服务。
sudo vi /etc/xinetd/tftp
在文件中输入以下内容:
service tftp{socket_type = dgramprotocol= udpwait = yesuser = rootserver= /usr/sbin/in.tftpdserver_args = -s /tftpbootdisable= noper_source = 11cps = 100 2flags= IPv4}
4、重新启动服务
sudo/etc/init.d/xinetd restart
然后,使用命令
netstat -au | grep tftp
出现
udp 00 ubuntu:tftp 0.0.0.0:*
则说明tftp服务已经开启。
至此tftp服务已经安装完成了,下面可以对其进行一下测试。
5、本机测试tftp服务器的功能
当前目录~下建立一个测试文件,vim~/test_local.c
并键入内容Thisis a file from local!。保存退出。
在/tftpboot目录下建立一个文件,vim/tftpboot/test_server..c
并键入内容Thisis a file from server!。保存退出。
使用命令ifconfig查看本机ip地址,假设是192.168.1.161
改变用户到root,在~目录运行tftp,
tftp localhosttftp>get test_server.cReceived 31 bytes in 0.0 secondstftp>quit
通过get命令,可以从/tftpboot下,下载test_server.c文件。这样,就验证了从server端下载文件是成功的。
tftp>put test_localError code 2: Access violation
试图通过put命令,把当前目录下的test_local.c文件,通过tftp上传到它的服务文件目录/tftpboot。
经查找该错误信息,发现是因为这样的规定:tftp默认只允许下载文件,要上传文件,必须是服务器中已存在同的文
件,且该文件权限允许被覆盖。名在/tftpboot目录中,新建一个test_local.c,并将test_local.c文件设为777。
再次通过tftp上传文件test_local.c
tftp>put test_local.cSent 30 bytes in 0.0 seconds
这样,就验证了从本地向server端上传文件是成功的。
这样就验证了tftp服务配置的正确性。当文件上传与下载结束后,可以通过quit命令退出。
6、由本机向开发板传输文件
利用网线一端连接到开发板的网络接口,另一端连接到PC机的网络接口,然后开发板的IP等设置好.
使用终端SecuereCRT,进入到开发板中,在任意一个目录下,键入命令:
tftp -g -r test_server.c 192.168.1.101
-g:get表示下载,-r:remove,移动。
现在你的开发板已经下载好文件test_server.c。