- 工信部备案号 滇ICP备05000110号-1
- 滇公安备案 滇53010302000111
- 增值电信业务经营许可证 B1.B2-20181647、滇B1.B2-20190004
- 云南互联网协会理事单位
- 安全联盟认证网站身份V标记
- 域名注册服务机构许可:滇D3-20230001
- 代理域名注册服务机构:新网数码
ftp的主动模式和被动模式
在使用FTP时,如果客户端机器和FTP服务器双方之间的所有端口都是开放的,那连接不存在问题。
如果客户端与服务器之间有防火墙,如果没配置好防火策略和采用合适的连接模式,会导致登录成功,但无法List列表的问题。
要避免出现这样的问题,首先要了解FTP的工作模式。
FTP的PORT(主动模式)和PASV(被动模式)
主动模式 port
工作原理:
- FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录。
- 登录成功后要list列表或者读取数据时,客户端随机开放一个端口(1024以上),发送 PORT命令到FTP服务器,告诉服务器客户端采用主动模式并开放端口;
- FTP服务器收到PORT主动模式命令和端口号后,通过服务器的20端口和客户端开放的端口连接,发送数据
被动模式 pasv passive
- FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录。
- 登录成功后要list列表或者读取数据时,发送PASV命令到FTP服务器, 服务器在本地随机开放一个端口(1024以上,可在客户端指定),然后把开放的端口告诉客户端。
- 客户端再连接到服务器开放的端口进行数据传输。
问题的解决方法
出现开头提到的问题的原因是:服务器端只开放了21端口, 客户端机器没开放任何端口。
FTP客户端连接采用的被动模式,结果客户端能登录成功,但是无法LIST列表和读取数据。很明显,是因为服务器端没开放被动模式下的随机端口导致。
解决方法如下:
1.首先在ftp服务器中指定被动模式随机生成的端口范围
2.在防火墙中开放刚才指定的端口,如果是云服务器,有安全组的,也需开放
3. 重新连接测试,连接成功
主动模式下,客户端的FTP软件设置主动模式开放的端口段,在客户端的防火墙开放对应的端口段。
售前咨询
售后咨询
备案咨询
二维码
TOP