TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。
TFTP
不需要认证客户端的权限,这样远程启动的客户机在启动一个完整的操作系统之前就可以通过
TFTP
下载启动映象文件,而不需要证明自己是合法的用户。这样
TFTP
服务也就存在着比较大的
安全
隐患,现在***和网络病毒也经常用
TFTP
服务来传输文件。但这个我可以不考虑在范围内,因为我是自己用的。
我搭建的TFTP主要用来传输烧写文件的,嵌入式linux的TFTP开发环境包括两个方面:一是嵌入式linux宿主机的tftp-server支持,二是嵌入式linux目标机的tftp-client支持。Red Hat Linux 9.0安装红帽子,自带的tftp软件包有客户端:tftp-0.32-4.i386.rpm,服务端的软件包:tftp-server-0.32-4.i386.rpm 用自带的软件包安装方便些,如果嫌弃Red Hate Linux9.0软件包太老,或想尝试下载软件来安装。可以到下面网址中下载。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
下载tftp32.exe工具
下载tftp-hpa客户端软件包
如果安装客户端软件以.tar.gz结尾的压缩包
#tar –xjvf tftp-hpa**.tar.gz
#cd tftp-hpa*
//有的时候要用到configure命令,它的作用是检查编译代码所需的各种头文件和库文件是否存在。如果不想默认安装目录,可以设置安装想要的目录,用参数prefix,其后面跟的是安装路径,并生成Makefile文件。
#make
//由于makefile文件已经存在,就可以执行make命令进行编译源代码。
#make install
//编译完成后执行make install安装软件。
下载tftp-server服务端软件包
准备好了下面开始搭建tftp配置服务。
[root@localhost root]#rpm –qa|grep tftp
//查看tftp是否安装服务端及客户端软件,如果没有安装,插入red hat linux 9.0第三张安装光盘
[root@localhost root]#mount /dev/cdrom /mnt/cdrom
//将设备光盘挂载到临时挂载目录/mnt/cdrom中
[root@localhost root]#cd /mnt/cdrom/RedHat/RPMS?
//切换到装载软件包RPMS目录
[root@localhost RPMS]#ls –l tftp*
//显示以tftp打头的数据包详细信息
![](https://i-blog.csdnimg.cn/blog_migrate/37f5c79e10df60298f445f23bcf8482e.jpeg)
[root@localhost RPMS]#rpm –ivh tftp-server-0.32-4.i386.rpm
//安装tftp-server-0.32-4.i386.rpm 服务器,安装后在根目录产生一个tftpboot目录,是tftp的共享目录,在/etc/xinted.d/生成tftp服务配置文件
![](https://i-blog.csdnimg.cn/blog_migrate/5b3b045ecb8f43bde16b38947a02cbd3.jpeg)
[root@localhost RPMS]#rpm –ivh tftp-0.32-4.i386.rpm
//安装客户端软件包
![](https://i-blog.csdnimg.cn/blog_migrate/b076c5f26ed207e0e25c8f094cdacf62.jpeg)
[root@localhost RPMS]#cd
//切换到root主目录
[root@localhost root]#ntsysv
//输入设置启动服务快捷命令,也可以使用全面设置的命令setup,按tab进行切换,用上下光标进行上下移动,按空格键进行选择。设置完后确定退出。
![](https://i-blog.csdnimg.cn/blog_migrate/499d9915fcbdf8db3a4dd230170915da.jpeg)
[root@localhost root]#service xinetd restart
//
设置完以后还不能马上生效,要重启超级服务
xinetd
让配置写入配置文件中
![](https://i-blog.csdnimg.cn/blog_migrate/b854fb1ba66af5fd3e09f9cb88deb7e0.jpeg)
查看windows xp的IP和子网掩码,win+R—运行中输入cmd—出现dos界面—ipconfig/all
![](https://i-blog.csdnimg.cn/blog_migrate/3c247ae6de74181c869d9fc79259abba.jpeg)
[root@localhost root]#netconfig
//回到linux中,在终端输入netconfig命令,弹出网络配置,所配置的信息在重启动network服务后,直接写入/etc/sysconfig/network-scripts/ifcfg-eth0配置文件中。
![](https://i-blog.csdnimg.cn/blog_migrate/c5451f1a493a10b58d382348c6f3774f.jpeg)
[root@localhost root]#service network restart
//
启动网络服务,重新加载
/etc/sysconfig/network-scripts/ifcfg-eth0
配置文件
[root@localhost root]#ifconfig
//
查看配置是否是刚才设置的
IP
子网掩码
![](https://i-blog.csdnimg.cn/blog_migrate/2df910ca1a24504f4075d3a58d62dc66.jpeg)
[root@localhost root]#cd /tftpboot/
//
配置好了,我们来测试一下
tftp
的上传与下载,切换到
/tftpboot
目录,关掉
windows xp
的防火墙,打开
tftp32.exe
工具设置要共享的目录,server interface的windows xp的IP地址
![](https://i-blog.csdnimg.cn/blog_migrate/1994ff9e6ca2539c51fdbf5f9cc768b1.jpeg)
[root@localhost tftpboot]#tftp 172.19.22.84
//
连接测试
Tftp>get aa.txt
//
下载
windows xp
桌面的
aa.txt
文件,到
linux
的
/tftpboot
目录中
Tftp>quit
//
退出
tftp
[root@localhost tftpboot]#touch bb.txt
//
在
tftpboot
目录创建一个
bb.txt
文件,
Tftp>put bb.txt
//
上载
bb.txt
文件到
windows xp
桌面
![](https://i-blog.csdnimg.cn/blog_migrate/feebe2e34db53a9aa75938f92f6a57a1.jpeg)
查看
tftp32.exe
工具的日记,可以看出,下载文件是读,上传是写,测试是成功的.
![](https://i-blog.csdnimg.cn/blog_migrate/96fae00048e81e69fa7b7c57aadd1162.jpeg)
OK! Tftp
今天测试到这里.
转载于:https://blog.51cto.com/chenboqiang/286242