tftp的特点:
1)基于UDP
2)适合小文件传输
3)基本的文件获取和写入功能
搭建服务器的步骤:
安装软件 xinetd,tftp ,tftpd
1)xinetd 服务器守护进程( the extended Internet services daemon)。inetd的升级版
2)tftp 简单文件传输协议(Trivial File Transfer Protocol)。ftp的简化版
3)tftpd tftp服务器(DARPA Trivial File Transfer Protocol server)。DARPA: 美国国防高级研究计划局
语法:apt-get install
配置服务器
1)在路径:/etc/xinetd.d/下用vi新建一个名为“tftp”的文件
2)“tftp”文件内输入以下内容,并保存退出(需要root权限)
* 注意 格式严格如图,“=”用“tab”键对齐。
在路径:/var/下新建目录“tftpboot”,赋最高权限777。该目录即是服务器的主目录【还是那句话:一切皆文件!服务器也是文件哦。】
注:目录名及路径取决于配置文件中的参数“server_args”
重启tftp服务器
/etc/init.d/xinetd restart
搭建完成。
测试服务器的步骤:
在tftp服务器目录(/var/tftpboot)下,新建一个文件,并输入一些便于识别的内容。比如:test
另开一个终端(ctrl+alt+t),定向访问服务器。
输入:tftp 127.0.0.1
* 为什么是127.0.0.1,而不是其它IP呢?试着在终端里输入ifconfig查看网络信息,除了网卡eth0之外,还有一个lo的虚拟网卡,类型是local loopback(本地环回接口(或地址)),地址:127.0.0.1 。至于什么是本地环回地址,又是一堆乱七八糟的东西,详见百度。
向服务器请求获得刚才新建的文件test(需在tftp提示符下操作)
get test
【如果是以普通用户登录,无法在较上级的目录下使用get命令,会提示权限不够。所以,测试get的路径是在/home/topeet下完成的。topeet即用户名】
成功后,输入q退出tftp控制台。
在当前目录下ls一下,并用vim打开该test文件,确认是不是用于测试的文件。
在开发板上测试服务器的步骤:
设置虚拟机相关网络配置,使开发板的IP地址与虚拟机的IP地址在同一网段并能ping通。(我在这里将虚拟机网络设置为桥接)
*开发板上的网络适配器文件位于/etc/eth0-setting,通过vi打开并修改IP地址。
在开发板超级终端上输入“tftp -g -l testlocal -r test 192.168.15.134”
【命令含义如下:
tftp: 传输命令
-g: 获取 get(写入 put)
-l: 本地 local
testlocal:存放在本地的文件名
-r:远端 remote
test:远端服务器目录(/var/tftpboot)上的文件名
192.168.15.134:服务器IP地址】
注意:-g -l的输入次序有要求,换成-l -g时终端会提示语法错误。
完成后,即在当前目录下生成文件testlocal。实际操作时,发现主机文件权限在传输过程中发生了改变:
下图是主机上文件exectest的权限:-rwxr-xr-x
但是到了终端,该文件的权限就成了:-rw-r--r--
对比可以发现,所有级别的操作权限被复位了,也就是不可操作。这是出于系统安全的一种设计吗?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。