FTP介绍
意义:
一般来讲,人们将计算机联网的首要目的就是获取资料,而文件传输是一种非常重要的获取资料的方式。今天的互联网是由几千万台个人计算机、工作站、服务器、小型机、大型机、巨型机等具有不同型号、不同架构的物理设备共同组成的,而且即便是个人计算机,也可能会装有Windows、Linux、UNIX、Mac等不同的操作系统。为了能够在如此复杂多样的设备之间解决问题解决文件传输问题,文件传输协议(FTP)应运而生。
FTP服务器:
Wu-ftpd,Proftpd,Pureftpd,ServU,IIS #Servu为商业版
vsftpd:Ver y Secure FTP Daemon,CentOS默认FTP服务器
高速,稳定,下载速度是WU-FTP的两倍
ftp.redhat.com数据:单机最多可支持15000个并发
客户端软件:
ftp,lftp,lftpget,wget,curl
ftp -A ftpserver port -A主动模式 –p 被动模式
lftp –u username ftpserver
lftp username@ftpserver
lftpget ftp://ftpserver/pub/file #非交互方式
gftp: GUI centos5 最新版2.0.19 (11/30/2008)
filezilla,CuteFtp,FlashFXP,LeapFtp
IE浏览器 ftp://username:password@ftpserver
- ftp:文件传输协议(File Transfer Protocol,FTP)。华为网络设备用此协议进行版本升级、日志下载和配置保存等业务操作
- tftp:简单文件传输协议(Trivial File Transfer Protocol,TFTP) 。cisco网络设备用此协议上传下载文件进行系统补丁升级等。另外centos7配置PXE自动化安装centos7时也用到tftp。
- vsftpd:(very secure ftp daemon,非常安全的FTP守护进程)是一款运行在Linux操作系统上的FTP服务程序,不仅完全开源而且免费,此外,还具有很高的安全性、传输速度,以及支持虚拟用户验证等其他FTP服务程序不具备的特点。CentOS默认FTP服务器
FTP是一种在互联网中进行文件传输的协议,基于客户端/服务器模式,默认使用20、21号端口,其中端口20(数据端口)用于进行数据传输,端口21(命令端口)用于接受客户端发出的相关FTP命令与参数。FTP服务器普遍部署于内网中,具有容易搭建、方便管理的特点。而且有些FTP客户端工具还可以支持文件的多点下载以及断点续传技术,因此FTP服务得到了广大用户的青睐。FTP协议的传输拓扑如图所示。


FTP服务器是按照FTP协议在互联网上提供文件存储和访问服务的主机,FTP客户端则是向服务器发送连接请求,以建立数据传输链路的主机。
- File Transfer Protocol 早期的三个应用级协议之一
- 基于C/S结构
- 双通道协议:数据和命令连接
- 数据传输格式:二进制(默认)和文本
- 两种模式:服务器角度
– 主动(PORT style):服务器主动连接
命令(控制):客户端:随机port — 服务器:tcp21
数据: 客户端:随机port —服务器:tcp20
– 被动(PASV style):客户端主动连接
命令(控制):客户端:随机port —服务器:tcp21
数据: 客户端:随机port —服务器:随机port
双通道协议:打开两个tcp连接
命令:都是客户端连接服务器 。
而数据连接有主被动之分:服务器主动连接客户端,此时服务器数据端口为tcp20 ,而客户端的端口未知,需要通过命令端口发送客户端协商客户端数据端口,让客户端发送过来数据端口,若客户端方面存在防火墙,则连接失败;而被动连接时,服务器若也存在防火墙,也会导致失败,故ftp适合局域网使用,广域网由于防火墙可能导致失败;一般现在有智能防火墙,只要ftp协议命令端口中传输协商的数据端口传输过来时,防火墙会自动打开该端口,即协议追踪;;数据通道传完数据就断开;客户端可以通过指令决定是用哪种数据端口
命令端口:持久连接
ftp连接两种方式
主动方式建立连接过程
- 主动方式也称为PORT方式,是FTP协议最初定义的数据传输连接方式,主要特点是:
– FTP客户端通过向FTP服务器发送PORT指令,告诉服务器该客户端用于传输数据的临时端口号
– 当需要传送数据时,服务器通过TCP端口号20与客户端的临时端口建立数据传输通道,完成数据传输 - 在建立数据连接的过程中,由
服务器主动发起连接,因此被称为主动方式

FTP被动数据传输方式
- 被动方式也称为PASV方式,被动方式的主要特点是:
– FTP客户端通过向FTP服务器发送PASV命令,告诉服务器进入被动方式。服务器选择临时端口号并告知客户端
– 当需要传送数据时,客户端主动与服务器的临时端口号建立数据传输通道, 完成数据传输 - 在整个过程中,由于
服务器总是被动接收客户端的数据连接,因此被称为被动方式

实施FTP协议

R1作为ftp服务器,sw1作为ftp客户端
①、配置sw1的IP和R1的IP,且网络可以通信
<Huawei>system-view #进入系统视图
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname R1
[R1]in g 0/0/1
[R1-GigabitEthernet0/0/1]ip ad 10.1.11.1 29 #配置g0/0/1的接口ip地址
Feb 19 2020 19:14:36-08:00 R1 %%01IFNET/4/LINK_STATE(l)[0]:The line protocol IP on the interface GigabitEthernet0/0/1 has entered the UP state.
[R1-GigabitEthernet0/0/1]quit
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname SW1
[SW1]interface Vlanif 1
[SW1-Vlanif1]ip ad
[SW1-Vlanif1]ip address 10.1.11.2 29
[SW1-Vlanif1]
Feb 19 2020 19:15:48-08:00 SW1 %%01IFNET/4/LINK_STATE(l)[0]:The line protocol IP on the interface Vlanif1 has entered the UP state.
Feb 19 2020 19:15:50-08:00 SW1 DS/4/DATASYNC_CFGCHANGE:OID 1.3.6.1.4.1.2011.5.25.191.3.1 configurations have been changed. The current change number is 5, the change loop count is 0, and the maximum number of records is 4095.
[SW1-Vlanif1]ping 10.1.11.2 #测试是否能ping通R1
PING 10.1.11.2: 56 data bytes, press CTRL_C to break
Reply from 10.1.11.2: bytes=56 Sequence=1 ttl=255 time=30 ms
Reply from 10.1.11.2: bytes=56 Sequence=2 ttl=255 time=1 ms
Reply from 10.1.11.2: bytes=56 Sequence=3 ttl=255 time=1 ms
Reply from 10.1.11.2: bytes=56 Sequence=4 ttl=255 time=10 ms
Reply from 10.1.11.2: bytes=56 Sequence=5 ttl=255 time=1 ms
--- 10.1.11.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 1/8/30 ms
②、ftp协议实施
[R1]ftp server enable #在路由器上开启ftp服务
Info: Succeeded in starting the FTP server
[R1]aaa #进入aaa视图
[R1-aaa]local-user dhy password cipher dhy123 #添加一个用户dhy,密码dhy123
Info: Add a new user.
[R1-aaa]local-user dhy service-type ftp #设置用户dhy的服务类型为ftp
[R1-aaa]local-user dhy privilege level 15 #设置用户dhy的权限最高级别为15
[R1-aaa]local-user dhy ftp-directory ?
STRING<1-64> [drive][path]
flash: Device name
[R1-aaa]local-user dhy ftp-directory flash: #设置用户dhy可以操作的目录为flash:
[R1-aaa]q
[R1]q
<R1>save #保存设置
The current configuration will be written to the device.
Are you sure to continue? (y/n)[n]:y
It will take several minutes to save configuration file, please wait.......
Configuration file had been saved successfully
Note: The configuration file will take effect after being activated
<R1>
<SW1>ftp 10.1.11.1
Trying 10.1.11.1 ...
Press CTRL+K to abort
Connected to 10.1.11.1.
220 FTP service ready.
User(10.1.11.1:(none)):dhy #输入ftp用户名dhy
331 Password required for dhy.
Enter password: #输入密码
230 User logged in.
[ftp]dir
200 Port command okay.
150 Opening ASCII mode data connection for *.
drwxrwxrwx 1 noone nogroup 0 Feb 19 10:02 dhcp
-rwxrwxrwx 1 noone nogroup 121802 May 26 2014 portalpage.zip
-rwxrwxrwx 1 noone nogroup 2263 Feb 19 10:02 statemach.efs
-rwxrwxrwx 1 noone nogroup 828482 May 26 2014 sslvpn.zip
-rwxrwxrwx 1 noone nogroup 289 Feb 19 11:18 private-data.txt
drwxrwxrwx 1 noone nogroup 0 Feb 19 11:18 .
-rwxrwxrwx 1 noone nogroup 686 Feb 19 11:18 vrpcfg.zip
226 Transfer complete.
[ftp]get portalpage.zip
200 Port command okay.
150 Opening ASCII mode data connection for portalpage.zip.
226 Transfer complete.
FTP: 121802 byte(s) received in 0.520 second(s) 234.23Kbyte(s)/sec.
[ftp]
1017

被折叠的 条评论
为什么被折叠?



