TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。
TFTP是一个传输文件的简单协议,它基于UDP协议而实现,但是我们也不能确定有些TFTP协议是基于其它传输协议完成的。此协议设计的时候是进行小文件传输的。因此它不具备通常的FTP的许多功能,它只能从文件服务器上获得或写入文件,不能列出目录,不进行认证,它传输8位数据。
一、tftp安装
$ sudo apt-get install tftp tftpd openbsd-inetd / / tftp是客户端,tftpd是服务器端
二、tftp配置
2.1 在根目录下创建文件夹 tftpboot
$ cd /
$ sudo mkdir tftpboot
$ sudo chmod 777 tftpboot
2.2 修改 /etc/inetd.conf文件
$ sudo vim /etc/inetd.conf
将如下:
{{
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp
}}
改为:
{{
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot
}}
2.3 修改/etc/xinetd.d/tftp,如果没有tftp文件就创建它。
主要是设置TFTP服务器的根目录,开启服务。
$ sudo vim /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/tftpboot -c (-s和tftpboot目录间不要留空格)
source = 11
cps = 1002
}
}}
说明:修改项server_args= -s
-c,其中处可以改为你的tftp-server的根目录,参数-s指定chroot,-c指定了可以创建文件。
2.4 修改/etc/default/tftpd-hpa文件(如没有tftpd-hpa文件就自己创建)
$ sudo vim /etc/default/tftpd-hpa
RUN_DAEMON="no"
OPTIONS="-s /tftpboot -c -p -U tftpd"
三. 重启服务
$ sudo /etc/init.d/openbsd-inetd reload
$ sudo in.tftpd -l /tftpboot
$ sudo /etc/init.d/openbsd-inetd start
四. 测试
1. 在tftpboot文件夹下新建测试文件tftptest
cd /tftpboot
sudo touch tftptest
sudo chmod 777 tftptest
2. 开始测试tftp服务
cd /home
tftp 192.168.1.120
get /tftpboot/tftptest
如果没有出现错误代码且在home目录下出现tftptest文件则证明tftp
服务建立成功
3、查看tftp服务是否开启
netstat -a | grep tftp
显示结果为
udp 0 0 *:tftp *:*
表明服务已经开启,就表明tftp配置成功了。
五、tftp命令用法如下
tftp your-ip-address
【进入TFTP操作】
connect:连接到远程tftp服务器
mode:文件传输模式
put:上传文件
get:下载文件
quit:退出
verbose:显示详细的处理信息
tarce:显示包路径
status:显示当前状态信息
binary:二进制传输模式
ascii:ascii传送模式
rexmt:设置包传输的超时时间
timeout:设置重传的超时时间
help:帮助信息
?: 帮助信息
阅读(2245) | 评论(0) | 转发(0) |