企业网络中利用FTP协议来实现文件的上传和下载
FTP技术的概念
- 文件传输协议,FTP是用来传送文件的协议。使用FTP实现远程文件传输的同时,还可以保证数据传输的可靠性和高效性
- FTP协议的作用:可以在服务器上面下载文件 或者在本地上传文件到服务器里面
FTP的控制层面和数据层面
- 客户端(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>
重启设备
已经升级成功了
- 利用Socket 实现 FTP 文件上传和文件下载
- Java 利用Apache Commons Net 实现 FTP文件上传下载
- Java 利用Apache Commons Net 实现 FTP文件上传下载
- 探究ftp的奥妙之系统用户如何上传下载文件、vsftpd如何识别证书并利用客户端来实现远程连接传输
- 利用ASIHttp实现文件的下载、上传和网络状态的监控
- 利用Indy的TIdFtp控件实现FTP协议, 远程下载上传文件
- JCIFS简介and利用JCIFS网络文件共享实现上传下载
- 利用FTPClient类实现文件的上传下载功能
- 利用Apache的commons-net实现FTP的文件读取、上传、下载、删除和移动功能
- 利用FTPClient类实现文件的上传下载功能
- 利用FTPClient类实现文件的上传下载功能
- 利用FtpClient实现上传下载及获得文件目录
- Android 利用an框架快速实现网络请求(含下载上传文件)
- Microsoft .NET Framework 2.0对文件传输协议(FTP)操作(上传,下载,新建,删除,FTP间传送文件等)实现汇总1
- .Net 2.0对文件传输协议(FTP)操作(上传,下载,新建,删除,FTP间传送文件等)实现汇总
- ftp实现文件上传和下载
- [转]文件传输协议(FTP)操作(上传,下载,新建,删除,FTP间传送文件等)实现汇总1
- Microsoft .NET Framework 2.0对文件传输协议(FTP)操作(上传,下载,新建,删除,FTP间传送文件等)实现汇总1
- 利用WebService实现远程服务器文件的上传和下载
- java+jsp代码实现从FTP服务器上传下载文件