【网络】tftp协议、简单实用tftpd32工具在主机和虚拟机之间传输文件

TFTP协议的简单了解学习以及使用

一、前言

在公司里,给设备进行升级的时候使用了一个tftp传输文件工具(Tftpd32),笔记本接上和设备在同一网络下的网线(使二者在同一个局域网下),然后配置Tftpd32的一些选项,如图12345填写好设备的IP和端口69,选择好文件,最后点击put将笔记本的文件通过tftp协议上传给设备。

觉得这个操作很神奇,tftp之前从没用过,准备学习一下tftp协议,了解原理;然后再使用tftp协议在本机和虚拟机传输文件(算是个小实验)。

二、tftp协议简介:

TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。

UDP编程流程:
服务器端:socket(),  bind(),  recvfrom()/sendto(),  close();

客户端:socket(),  sendto()/recvfrom(),  close();

TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户端与服务器之间进行简单文件传输的协议。和使用TCP的文件传输协议(FTP)不同,为了保持简单短小,TFTP使用了UDP。TFTP的实现(和它所需要的UDP、IP、和设备驱动程序)可以放入只读存储器中

TFTP是一个简单的协议,适合于只读存储器,仅用于无盘系统进行系统引导,它只使用几种报文格式,是一种停止等待协议

特点:1、简单  2、占用资源小  3、适合传递小文件  4、适合在局域网进行传递  5、端口号为69    6、基于UDP实现 

缺陷:TFTP分组中并不提供用户名和口令。这是TFTP的一个特性(即"安全漏洞")。由于TFTP是设计用于系统引导进程,它不可能提供用户名和口令。

目前大多数TFTP服务器提供了一个选项来限制只能访问特定目录下的文件,这个目录中只包含无盘系统进行系统引导时所需的文件

三、tftpd32工具

参考链接

参考链接

四、使用tftpd32再本机和虚拟机传输文件

第一种方法:windows充当服务器,虚拟机的ubuntu系统充当客户端。这样就在linux的客户端里操作我需要收文件还是传文件。

第二种方法:windows充当客户端,linux充当服务器,这样就在windows上操作get/put文件。

这里演示第一种:

首先在windows下查看本机的IP地址:因为要在tftpd32中配置服务器(我们让windows充当服务器)

windows下使用ipconfig查看IP地址,发现多出了两个,所以就查了一下。

然后我们配置windows上的tftpd32工具:选择一个文件目录,服务器发送文件、接受文件的目录:D盘下的test文件夹下

点击Server interfaces,发现有很多IP地址可供选择,可以看出来这个工具是可以自动检测IP的:回环地址,本机IP,虚拟机的i啷个IP,这里要选择我们的本机(Windows下的IP地址)

接下来配置linux上的tftp客户端:

先使用命令 sudo apt-get install tftp-hpa(tftp 客户端软件包)

在根目录下的mnt下建立一个目录用于存放文件和上传文件

使用命令tftp + IP地址,建立和服务器的短链接

在linux终端上使用命令:get + 文件名 下载win服务器上的文件,如图我win上的文件如下:

get test.txt,回车的一瞬间windows的tftp服务器有日志,如图:

成功传输文件:

上传文件的演示:客户端创建了一个文件,使用tftp传输给服务器(windows上)

上传完成!

发布了99 篇原创文章 · 获赞 80 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/zDavid_2018/article/details/105418208
今日推荐