什么是tftp及其配置?太网通信
1.定义
TFTP全称为Trivial File Transfer Protocol,中文名叫简单文件传输协议。大家可以从它的名称上看出,它适合传送“简单”的文件。与FTP不同的是,它使用的是UDP的69端口,因此它可以穿越许多防火墙。不过它也有缺点,比如传送不可靠、没有密码验证等。虽然如此,它还是非常适合传送小型文件的。TFTP 只能从远程服务器上读、写文件(邮件)或者读、写文件传送给远程服务器。它不能列出目录并且当前不提供用户认证。
端口列表
1. TCP:
(1) FTP(命令:21,数据:20)
(2) Telnet(23)
(3) SMTP(25)
(4) HTTP(80)
(5) POP3(110)
(6) IMAP(143)
(7) BGP(179)
2. UDP:
(1) DNS(53)
(2) BOOTP(Server:67,Client:68)
(3) TFTP(69)
(4) SNMP(161)
(5) RIP(520)
2.tftp与ftp的区别。
I.基于的传输协议不一样:FTP是基于TCP TFTP是基于UDP
II.端口号不一样:FTP是用21.20 TFTP是69
III.速度和安全方面:FTP在速度方面没有TFTP快但是FTP安全好。如QQ就是基于UDP,快不安全
3.配置文件。
配置文件是:/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
per_source = 11
cps = 100 2
flags = IPv4
}
server_args = -s /tftpboot是tftp服务器运行时的参数。-s /tftpboot表示服务器默认的目录是 /tftpboot,当你执行put a.txt时,文件会被放到服务器的/tftpboot/a.txt,省去你敲put a /tftpboot/的麻烦
4.上传文件:
上传文件时,需要先把服务器上的/tftpboot目录和这个目录下的文件变成可读可写权限,如下命令所示:
>cd /
>chmod 777 tftpboot
>cd tftpboot
>chmod 777 *
(这里用777权限有些高,可以用666,不过无所谓)
上传文件用put命令,但是默认情况下,只能上传远程tftp服务器已有的文件,例如,在tftp服务器上有/tftpboot/a.txt这个文件,你可以执行
>put a.txt
将本地的a.txt文件上传上去并覆盖服务器上的原文件。所以这个时候要先在服务器上建一个同名文件,如下命令所示:
>cd /tftpboot
>touch a.txt
>chmod 666 *
如果想上传原来目录中没有的文件,需要修改tftp服务器的配置文件并重起服务,如下操作所示:
打开/etc/xinetd.d/tftp文件,在 server_args 增加-c参数,如下所示:
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot -c
per_source = 11
cps = 100 2
flags = IPv4
}
存盘退出。
重起tftp服务,如下所示:
>service xinetd restart
可以了。现在就可以上传新文件了。
5.启动。
#ntsysv 选择tftp服务。
#service xinetd restart
这样,tftp便启动了。
6.测试端口:
# netstat -a | grep tftp
如果有相关的输出,就表明tftp配置成功了。
或者;
# netstat -nlp 得到如下输出:
udp 0 0 0.0.0.0:69 0.0.0.0:* 6585/xinetd
7.tftp安装:
需要两个软件包:
tftp (客户端)和 tftp-server(服务器端)
只有安装tftp才可进行如下实例操作(如果你输入tftp却没有出现“tftp>”那请检查是否是客户端没有安装):
为简化操作,先在/tftpboot建立一个a.txt文件。然后
$tftp 127.0.0.1
tftp>get a.txt
tftp>q
$ls
看到a.txt了吧。
8.另一台机器上测试:
ubuntu8.04
先安装客户端:tftp-hpa
tftp 服务器IP地址
tftp>get a.txt
tftp>q
ls
xp sp3上测试
“运行”-》“cmd”:
tftp 服务器IP地址 get a.txt 如果显示如下信息,表示测试成功:
Transfer successful : ---------------------------------