一,介绍

        TFTP是一个传输文件的简单协议,它基于UDP协议而实现,但是我们也不能确定有些TFTP协议是基于其它传输协议完成的。此协议设计的时候是进行小文件传输的。因此它不具备通常的FTP的许多功能,它只能从文件服务器上获得或写入文件,不能列出目录,不进行认证,它传输8位数据。我这里安装tftp-hpa服务器和它的客户端。

二,搭建tftp服务器

1,安装

guoyanzhang@bogon:~$ sudo apt-get install tftpd-hpa xinetd

tftpd-hpa是tftp服务器,xinted是网络守护进程,就是接受客户端连接的。 

2,新建文件,配置(cat的结果是我编辑的)

guoyanzhang@bogon:~$ pwd 
/home/guoyanzhang
guoyanzhang@bogon:~$ sudo mkdir -m 777 mytftp
guoyanzhang@bogon:~$ sudo cat /etc/xinetd.d/tftp
# begin /etc/xinetd.d/tftp
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /home/guoyanzhang/mytftp -c
per_source = 11
cps = 100 2
flags = IPv4
}
# end /etc/xinetd.d/tftp

 3,编辑文件,cat的结果是我配置的所有内容

guoyanzhang@bogon:~$ sudo cat /etc/default/tftpd-hpa 
# /etc/default/tftpd-hpa

# begin my changes
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/guoyanzhang/mytftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"
# end my changes

4,启动服务(重启restart,启动start,停止stop)

guoyanzhang@bogon:~$ sudo /etc/init.d/tftpd-hpa restart
[ ok ] Restarting tftpd-hpa (via systemctl): tftpd-hpa.service.
guoyanzhang@bogon:~$ sudo /etc/init.d/xinetd restart
[ ok ] Restarting xinetd (via systemctl): xinetd.service.

三,安装tftp客户端

guoyanzhang@bogon:~$ sudo apt-get install tftp-hpa

四,本机测试

测试之前将tftpd,xinetd都打开。

guoyanzhang@bogon:~$ touch aa.c 
guoyanzhang@bogon:~$ !tft
tftp 192.168.1.92
tftp> put aa.txt
tftp> put aa.c
tftp> get f10.txt
tftp> quit
guoyanzhang@bogon:~$ ls mytftp/aa.*
mytftp/aa.c mytftp/aa.txt
guoyanzhang@bogon:~$ ls f*
f10.txt

参考1:​​https://baike.baidu.com/item/tftp/455170?fr=aladdin​