FTP主动模式和被动模式
基于Centos7、vsftpd3.0.2
0、前导:
- ftp通信中存在两种连接:
- 控制连接:用于传递控制命令及其他小数据量通信。
- 数据连接:用于传输文件数据流。
- 根据数据连接的建立方式分为主动模式(active mode)和被动模式(passive mode),主动和被动都是以ftp服务端为中心来说的。
- 主动模式:顾名思义,主动模式就是ftp-erver主动发起通向ftp-client的
数据连接
。 - 被动模式:同理,被动模式就是ftp-erver不发起连接,而是被动接受ftp-client发起的
数据连接
。
- 主动模式:顾名思义,主动模式就是ftp-erver主动发起通向ftp-client的
- ftp仍然属于tcp连接,故需三次握手。
一、主动模式:
vim /etc/vsftpd/vsftpd.conf
pasv_enable=NO #1.关闭passive模式 port_enable=YES #2.启用active模式 connect_from_port_20=YES #3.允许从20端口连接,主动模式使用20端口进行数据传输 pasv_min_port=3000 #active模式下属无效配置 pasv_max_port=4000 #active模式下属无效配置
systemctl restart vsftpd #重启ftp服务
ftp -A 192.168.50.87 #以active模式连接ftp-server,一定要加参数【-A】
连接过程:
- client用大于1024的任意端口(如1025)连接server的21端口,建立控制连接(controll-connection),用于控制通信。
- client另起一个大于1024的端口(如1026),并通过控制连接将此端口告诉server,server使用其20端口
主动
与此端口建立数据连接(data-connection)。
二、被动模式:
vim /etc/vsftpd/vsftpd.conf
pasv_enable=YES #1.开启被动模式,如果不配置pasv_enable=NO,默认是passive模式 #默认值为0,表示取任意(1024 – 65535端口),把端口范围设在比较高的一段范围内,比如3000-4000 pasv_min_port=3000 #2.指定数据连接端口下界 pasv_max_port=4000 #3.指定数据连接端口上界
systemctl restart vsftpd #重启ftp服务
ftp -p 192.168.50.87 #以passive模式连接ftp-server,【-p】为可选参数
连接过程:
client用大于1024的任意端口(如1025)连接server的21端口,建立控制连接(controll-connection),用于控制通信。
client告诉server要发起数据通信,此时server就从指定的端口范围内选择一个端口(如3001),并对其监听,而后将此端口告诉client。client另起一个大于1024的端口(如1026),主动去连接server的3001端口,server被动接受并建立数据连接。
三、区别:
- 若ftp服务器只在局域网内使用,任选一种模式都没问题。
- 若ftp要通过互联网提供服务,由于边界路由器、NAT、防火墙等机制的存在,主动模式下server会误认为边界路由器就是client,所以会试图与边界路由器的20端口建立数据连接,而不能抵达真实client,造成能连上server但是却不能上传、下载、新建目录的问题。
- 若使用被动模式则不存在这样的问题,因为数据连接由client主动发起,能准确连接上server监听的数据端口。
相关推荐
leodengzx 2020-06-28
TangCuYu 2020-06-05
clmngu 2020-06-03
zcl 2020-05-12
wxthillwill 2020-05-02
Vampor 2020-04-22
wozijisunfly 2020-04-10
秋风瑟瑟 2020-02-03
leodengzx 2020-01-24
83520298 2020-01-11
hickwu 2020-10-23
OwenJi 2020-02-26
vanturman 2020-02-03
杨立峰 2020-08-18
wq0 2020-07-18
xsg 2020-06-09
河的第三条岸 2020-05-31
atb 2020-05-30
饮马天涯 2020-05-20
wennuanwarm 2020-05-16
InJavaWeTrust 2020-05-04
书弋江山 2020-04-26
MichelinMessi 2020-04-16
89236831 2020-02-24
IsanaYashiro 2020-02-19
Proudoffaith 2020-02-04
IsanaYashiro 2020-01-23