企业网络中利用FTP协议来实现文件的上传和下载

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了企业网络中利用FTP协议来实现文件的上传和下载相关的知识,希望对你有一定的参考价值。

FTP技术的概念

  1. 文件传输协议,FTP是用来传送文件的协议。使用FTP实现远程文件传输的同时,还可以保证数据传输的可靠性和高效性
  2. FTP协议的作用:可以在服务器上面下载文件 或者在本地上传文件到服务器里面

FTP的控制层面和数据层面

  1. 客户端(client)和服务器(server):简称为C/S模式

控制平面和转发平面(数据平面)

        控制平面:主要保证服务器和客户端之间通信,使用的是TCP的21号端口
        客户端----->>>>>服务器进行连接
        TCP 源端口 随机 
        目标端口 21

转发平面:可以称作为数据平面,主要保证服务器和客户端之间传输数据

        主动模式和被动模式
            主动模式(服务器主动访问客户端,可以比喻成你们做头等舱)
                    TCP 20号端口
                    服务器---->>>客户端进行连接
            被动模式(客户端主动服务器,可以比喻成你们做经济舱)
                    TCP 随机端口
                    客户端---->>>服务器进行连接

技术图片

FTP的工作模式

主动模式

技术图片

TCP三次握手的建立
    控制连接(输入账户名和密码):客户端---服务器发起连接
            Sport:随机
            Dport:21端口

会有客户端---服务器发送一个port消息 该消息里面会携带a.b.c.d.e.f(其中a.b.c.d就是客户端IP地址  客户端端口号就是256乘以e+f)

TCP三次握手的建立
    数据平面(执行我们上传和下载的动作):服务器---客户端发起连接
            Sport:20端口
            Dport:256乘以e+f

实验演示主动模式

技术图片
在客户端上面访问FTP服务器,发现是可以相互ping通
技术图片

在交换机上面开启FTP服务器功能

[Huawei]ftp server enable 
[Huawei]set default ftp-directory flash:
[Huawei]aaa
[Huawei-aaa]local-user spoto password cipher 123
[Huawei-aaa]local-user huawei service-type ftp 
[Huawei-aaa]local-user huawei ftp-directory flash: 
[Huawei-aaa]local-user huawei privilege level 3

在客户端上面启动主动模式
下载CuteFTP软件
技术图片
技术图片
技术图片
点击连接:然后在模拟器上面进行抓包看现象
技术图片
发现已经连接成功了
技术图片

被动模式

技术图片

    TCP三次握手的建立
     控制平面:客户端---服务器发起连接
        Sport:随机端口
        Dport:21号端口

客户端会发送一个PASV的消息给服务器端口 服务器收到后会回应一个带有a.b.c.d.e.f(其中a.b.c.d就是服务端IP地址  服务器端口号就是256乘以e+f)

    TCP三次握手的建立
    数据平面:客户端---服务器发起连接
        源端口:随机端口
        目标端口:256乘以e+f

实验演示被动模式

技术图片
在客户端上面访问FTP服务器,发现是可以相互ping通
技术图片
在交换机上面开启FTP服务器功能

[Huawei]ftp server enable 
[Huawei]set default ftp-directory flash:
[Huawei]aaa
[Huawei-aaa]local-user spoto password cipher 123
[Huawei-aaa]local-user huawei service-type ftp 
[Huawei-aaa]local-user huawei ftp-directory flash: 
[Huawei-aaa]local-user huawei privilege level 3

在客户端上面启动被动模式
下载CuteFTP软件
技术图片
技术图片
技术图片
点击连接:然后在模拟器上面进行抓包看现象
技术图片
发现已经连接成功了
技术图片

在模拟器种怎么样给路由器进行升级(或者交换机或者防火墙)给路由器打补丁

1、配置路由器的IP地址和我自己电脑上面的IP地址在同一个网段
2、在路由器上面ping自己电脑的IP地址 能够ping通为止
3、自己的电脑设置为FTP服务器 可以启动FTP服务器软件
账户名是:lizi
密码是:123
访问目录:自己电脑桌面
访问权限:上传和下载文件权限
最后点击我们启动服务
4、补丁文件可以在www.huawei.com网站上面下载相应补丁
https://support.huawei.com/enterprise/zh/routers/ar2200-pid-
6078842/software/250441226?idAbsPath=fixnode01|24030814|21432787|7923148|22318709|6078842
把这个补丁放在自己电脑的桌面上(因为你服务器端的访问目录:自己电脑桌面)

5、路由器作为客户端FTP到我自己的电脑上面去

<R1>ftp 192.168.56.1
Trying 192.168.56.1 ...

Press CTRL+K to abort
Connected to 192.168.56.1.
220 欢迎访问 Slyar FTPserver!
User(192.168.56.1:(none)):lizi                   ####账户名
331 Please specify the password.                     ####密码
Enter password:
230 Login successful.

[R1-ftp]

输入dir 查看AR2220-V200R009SPH020.pat 是否有这个文件

6、通过命令从服务器上面下载我们补丁文件 下载到路由器上面

[R1-ftp]get AR2220-V200R009SPH020.pat

7、退出ftp视图 并在路由器上面查看是否有补丁文件

<R1>dir
Directory of flash:/

  Idx  Attr     Size(Byte)  Date        Time(LMT)  FileName 
    0  drw-              -  Aug 15 2019 11:38:04   dhcp
    1  -rw-        121,802  May 26 2014 09:20:58   portalpage.zip
    2  -rw-      7,221,888  Aug 15 2019 12:18:49   ar2220-v200r009sph020.pat
    3  -rw-          2,263  Aug 15 2019 11:59:02   statemach.efs
    4  -rw-        828,482  May 26 2014 09:20:58   sslvvppnn.zip

1,090,732 KB total (777,408 KB free)
<R1>

8、路由器升级补丁
在升级补丁之前 查看该路由器的一些启动信息 发现路由器这边没有补丁文件

<R1>display startup 
MainBoard: 
  Startup system software:                   null
  Next startup system software:              null
  Backup system software for next startup:   null
  Startup saved-configuration file:          flash:/vrpcfg.zip
  Next startup saved-configuration file:     flash:/vrpcfg.zip
  Startup license file:                      null
  Next startup license file:                 null
  Startup patch package:                     null
  Next startup patch package:                null
  Startup voice-files:                       null
  Next startup voice-files:                  null
<R1>    

9、路由器补丁升级

<R1>startup patch ar2220-v200r009sph020.pat
This operation will take several minutes, please wait.........
Info: Succeeded in setting the file for booting system
<R1>display startup 
MainBoard: 
  Startup system software:                   null
  Next startup system software:              null
  Backup system software for next startup:   null
  Startup saved-configuration file:          flash:/vrpcfg.zip
  Next startup saved-configuration file:     flash:/vrpcfg.zip
  Startup license file:                      null
  Next startup license file:                 null
  Startup patch package:                     null
  Next startup patch package:                flash:/ar2220-v200r009sph020.pat
  Startup voice-files:                       null
  Next startup voice-files:                  null
<R1>

重启设备
已经升级成功了

以上是关于企业网络中利用FTP协议来实现文件的上传和下载的主要内容,如果未能解决你的问题,请参考以下文章

怎么用Java实现FTP上传

基于SSM框架实现利用FTP上传文件至Linux远程服务器

FTP上传和下载文件的应用

基于CentOS7.3构建企业级Vsftpd文件服务器

Java实现FTP文件与文件夹的上传和下载

哪种协议(FTP 或 HTTP)更适合下载/上传小文件或大文件?