文章目录
基本知识: TFTP简单文件传输协议,是一个基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合开销不大,不复杂的应用场合。
TFTP协议专门为小文件传输而设计,只能从服务器上获取文件,或者向服务器写入文件,不能列出目录,也不能进行认证。
一、搭建服务器
1.安装xinetd
sudo apt-get install xinetd
2.安装tftp和tftpd
sudo apt-get install tftp tftpd
3.配置/etc/xinetd.d/tftp文件(一定要对齐,严格按照格式输入)
在Ubuntu下新建这个文件
vim /etc/xinetd.d/tftp
复制下面这个代码到这个文件中
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/tftpboot/
disable = no
per_source= 11
cps = 100 2
flags = IPv4
}
粘贴之后
严格按照下面的格式对齐
实践:
4.服务器目录
tftp文件中的/var/tftpboot是服务器的目录
新建tftp服务器目录
mkdir /var/tftpboot
修改权限为777
chmod 777 /var/tftpboot
5.重启xinetd服务
sudo /etc/init.d/xinetd restart
二、 TFTP服务器测试
参数说明
参数说明:-l 是local的缩写,后跟存在于Client的源文件名,或下载Client后 重命名的文件名。
-r 是remote的缩写,后跟Server即PC机tftp服务器根目录中的源文 件名,或上传Server后重命名后的文件名。
-g 是get的缩写,下载文件时用,
-p 是put的缩写,上传文件时用,
tftp 默认占用的是69端口。
1.本机测试:
在/var/tftpboot 下面建立一个文件test 输入任意内容
vim /var/tftpboot/test
启动另一个终端
输入命令tftp 127.0.0.1
输入get test
输入q可以退出
退出后,使用ls命令可以发现当前目录下有test文件,如果这文件和服务器中的test文件内容一模一样,表明服务器搭建成功
vim test
2.开发板测试
下载和上传文件更名
下载:
tftp –g –l 目标文件名 –r 源文件名 服务器地址
例如:
tftp –g –l B.txt –r A.txt 192.168.1.3
的作用是从server中的tftp根目录下,下载文件A.txt到Client并更名为B.txt;若不更名,B.txt就改为A.txt.
上传:
tftp –p –r 目标文件名 -l 源文件名 服务器地址
tftp –p –r D.txt –l C.txt 192.168.1.3
的作用是从Client上传文件C.txt到Server的tftp根目标下,并更名为D.txt;若不更名,D.txt就改为C.txt.
下载和上传不更名
下载:
tftp –g –l/-r 源文件名 服务器地址
(此时参数-l与-r等效,使用时只使用其中一个);
如tftp –g –l A.txt 192.168.1.3或 tftp –g –r A.txt 192.168.1.3
作用相同,都表示Client从Server下载文件A.txt,且不更名。
上传:
tftp –p –l/-r 源文件名 服务器地址
(此时参数-l与-r等效,使用时只使用其中一个);
如tftp –p –l B.txt 192.168.1.3或 tftp -p –r B.txt 192.168.1.3
作用相同,都表示从Client上传文件B.txt到Server,且不更名。
开发板测试: