1. TFTP服务简介
TFTP是 Trivial File Transfer Protocol 的缩写,即简单文件传输协议,是一个基于 UDP 协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于开销不大、不复杂的应用场合
TFTP协议专门为小文件传输而设计,只能从服务器上获取文件,或者向服务器写入文件,不能列出目录,也不能进行认证。 TFTP协议传输是由客户端发起的
客户机和服务器之间的交互过程如下图示:
2. Linux下部署TFTP服务
2.1 安装TFTP服务
Ubuntu联网,安装xinetd(extended internet daemon)托管服务
sudo apt-get install xinetd
查询/etc/下是否存在xinetd.conf文件,若没有需自己新建一个,内容修改如下
# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/
defaults
{
}
#表示告诉xinetd要包含的文件或目录是/etc/xinetd.d
includedir /etc/xinetd.d
创建linux/tftp文件夹,并赋予可读可写可执行权限(777)
mkdir -p /home/andyxi/linux/tftp
sudo chmod 777 /home/andyxi/linux/tftp/
安装tftp-hpa(客户端)和tftpd-hpa(服务端)服务程序
sudo apt-get install tftp-hpa tftpd-hpa
打开tftpd-hpa配置文件/etc/default/tftpd-hpa,将上面创建的tftp目录设置为TFTP服务器工作目录
TFTP_DIRECTORY="/home/andyxi/linux/tftp"
创建/etc/xinetd.d/tftp配置文件,并添加如下内容,如果/etc文件夹中没有xinetd.d子目录,可自行创建
server tftp
{
socket_type = dgram
wait = yes
disable = no
user = root
protocol = udp
server = /usr/sbin/in.tftpd
server_args = -s /home/andyxi/linux/tftp -c
#log_on_success += PID HOST DURATION
#log_on_failure += HOST
per_source = 11
cps =100 2
flags =IPv4
}
重启tftpd-hpa服务
sudo service tftpd-hpa restart
重启xinetd服务
sudo service xinetd restart
2.2 TFTP测试
这里使用 Ubuntu作为TFTP服务器端,Linux开发板作为客户端来进行TFTP测试。 确保网络环境正常,Ubuntu、Windows和开发板能相互ping通
在ubuntu的/home/andyxi/linux/tftp目录下创建test.c文件
cd /home/andyxi/linux/tftp
vi test.c
在开发板中执行tftp命令将虚拟机TFTP工作目录下的test.c文件拷贝到开发板中
tftp -g -r test.c 192.168.10.100
若文件被成功传输到开发板上,说明TFTP服务部署成功
全部0条评论
快来发表一下你的评论吧 !