Windows 和Ubuntu利用tftp协议传送文件

这几天公司需要将一个文件从Windows7传到装在虚拟机中的Linux系统中,由于Linux系统只开了tftp协议的69端口,只能通过tftp协议传送文件。网上找了好多的教程,但是感觉都比较的乱,综合了好几个网站给的教程后,给出了一个相对完整的教程,一方面作为自己的存档,另一方面可以分享给大家,相信所有和我一样“菜鸟”级的选手在看过这篇文档后都会轻松的利用tftp协议在Windows和Ubuntu之间传送文件。个人的电脑配置为Windows7,在VMware虚拟机中安装了Ubuntu14.04。

传送文件的过程大致可以分为这几步:

1、在Ubuntu14.04中安装tftp客户端和服务器端。

2、配置Ubuntu系统tftp服务器端文件。

3、配置Ubuntu系统和Windows7 系统的IP地址为静态IP。

4、在Windows7中安装tftp32应用程序。

5、利用tftp协议传送文件。

一、安装tftp服务器和客户端

设置”中的网络适配器选择的是不是桥接模式或者NAT模式。最好选择桥接模式,原因一会儿就知道了。

1、Ubuntu系统打开后,点击左边“启动器”第一个图标,搜索Terminal(中文名称为终端),打开后右键左边栏打开后的图标,将打开后的终端固定在“启动器”。

apt-get install tftp-hpa tftpd-hpa”,表示安装tftp客户端(tftp-hpa)和tftp服务器端(tftpd-hpa),如果提示如图1所示的权限不够,则需要输入“sudo -s”后回车,在输入密码后,就可以得到root最高权限。如图2所示。 

                                                                       

reddis 连接数 ESTABLISHED_虚拟机

图1

                                                                           

reddis 连接数 ESTABLISHED_IP_02

图2

apt-get install tftp-hpa tftpd-hpa”,就会开始安装tftp客户端和服务器端了,中间如果提示是否下载(Yor N),选择Y就是了。中间会下载一些安装文件,如图3所示。如果不放心没有安装上,可以再次执行安装命令,如果出现图4所示,提示已经安装上,就表明安装成功了。

                                                                

reddis 连接数 ESTABLISHED_Ubuntu_03

图3

                                                         

reddis 连接数 ESTABLISHED_windows 7_04

图4

二、配置tftp服务器

apt-get install vim”,安装过程和安装tftp基本上一样。如图5所示。 

                                                            

reddis 连接数 ESTABLISHED_IP_05

图5

5、配置tftp服务器文件

vi  /etc/default/tftpd-hpa”后会进到如图6所示的配置界面。

                                                            

reddis 连接数 ESTABLISHED_IP_06

图6

“i”,表示插入/修改文件内容,这时在命令行的左下角会出现“插入”字样,将文件内容修改为如图7所示的内容后,按“Esc”键表示退出修改,之后输入“:wq”(此时的:wq应该在命令行最左下面)表示保存并退出。这样tftp服务器就配置好了。

                                                              

reddis 连接数 ESTABLISHED_IP_07

图7

                                                             

reddis 连接数 ESTABLISHED_tftp_08

图8

7、重启tftp服务器

sudo service tftpd-hpa restart”表示重新启动tftp服务器。

三、配置IP地址

如果在刚开始虚拟机的网络配置选择为“桥接模式”,这是就可以直接配置IP地址了。如果选择的是“NAT模式”,则需要重新关机,将模式设置为“桥接模式”。

8、查看IP地址

ifconfig -a”,查看本机的IP地址。如图9所示。此时因为选择的是桥接模式,网络会自动给Ubuntu分配一个动态IP地址,笔者的IP地址为10.0.6.25。

                                                             

reddis 连接数 ESTABLISHED_windows 7_09

图9

9、修改IP地址为静态IP地址

System Settings(系统设置)”,点进去后找到“Network(网络)”。打开后如图10所示。点击右下角“options…”按钮,进入到如图11所示的“Editing Wired connection 1”界面。

                                                  

reddis 连接数 ESTABLISHED_Ubuntu_10

图10

                                                                         

reddis 连接数 ESTABLISHED_虚拟机_11

图11

Log out”后IP地址就改成了静态IP。

                                                                                          

reddis 连接数 ESTABLISHED_虚拟机_12

图12

11、Windows的IP地址也需要设置成和Ubuntu系统在一个网段。并且能够相互ping通,在此不多赘述。

接下来就是最关键的地方了。

由于Windows本身并没有tftp服务器,只有tftp客户端。所以如果说想要将Ubuntu作为客户端,Windows作为服务器端的话,需要下载tftpd32应用程序,这样的话Windows就可以作为服务器了。如果将Ubuntu作为服务器端,Windows作为客户端的话,由于Ubuntu已经安装tftpd,就不需要做任何操作。

四、Ubuntu为客户端,Windows为服务器

12、在Windows端打开刚刚下载好的tftpd32应用程序。这时tftpd会自动识别Windows的IP地址,点击Browse可以选择将传输的文件存放的位置(默认在tftpd32安装的文件夹下),ShowDir按钮可以查看选择的存放文件夹下的文件信息。如图13所示。

                                                                                      

reddis 连接数 ESTABLISHED_Ubuntu_13

图13

13、利用命令行的方式生成两个txt文件

ls”表示查看该目录下文件夹/文件信息,“cd文件夹名称”表示进入文件夹,“echo “hello”>>a.txt”表示在所在的目录下创建一个名称为a的txt文件,文件内容为“hello”。

                                                             

reddis 连接数 ESTABLISHED_Ubuntu_14

图14

14、传输文件

在Ubuntu端命令行下输入如下命令:如图15,16所示

tftp

10.0.0.180

put b.txt

get c.txt       

 

reddis 连接数 ESTABLISHED_IP_15

图15

                                     

reddis 连接数 ESTABLISHED_tftp_16

图16

五、Windows作为客户端,Ubuntu作为服务器端

12、重启Ubuntu的tftpd服务

sudo service tftpd-hpa restart”。如图17所示,会提示服务器重启成功。

                                               

reddis 连接数 ESTABLISHED_IP_17

图17

13、传送文件

tftp –i 10.0.0.121 PUT a.bin”就表示把a.bin这个文件放到IP地址为10.0.0.121的终端中(如图18所示)。Windows端对tftp的定义为:“tftp [–i]服务器的IP地址 [PUT/GET]客户端文件名称 [服务器端的文件名称]”,服务器端的文件名称可以省略,也可不省略。如图19就是没有省略服务器端的文件名称,并且把a.bin改名为b.txt,图20就是Ubuntu中收到的文件。

                                             

reddis 连接数 ESTABLISHED_IP_18

图18

                                                     

reddis 连接数 ESTABLISHED_tftp_19

图19

                                                 

reddis 连接数 ESTABLISHED_windows 7_20

图20