关于FTP主被动模式的几个问题?
以下问题均以FileZilla软件的客户端/服务器端为例
-
怎样知道当前用的是什么模式?
两种方式
方法1:直接查看客户端软件当前使用的模式
FileZilla默认使用被动模式,可以手动更改为主动模式
编辑 > 设置 > 连接 > FTP > 传输模式
方法2:Wireshark抓包
登录成功以后的数据包中,如果有客户端发往服务器的类似 Request: PORT 10,20,36,36,227,90 格式的数据包,则为主动模式(关键字PORT);
如果有服务器发往客户端的类似 Request: 227 Entering Passive Mode (10,20,101,188,238,58) 格式的数据包,则为被动模式(关键字Passive) -
主动模式中,端口号的使用情况?
服务器端命令端口:21 (可自定义修改:编辑 > 设置 > 常规设置 > 监听端口)
服务器端数据端口:20
客户端命令端口:N (N>1023)
客户端数据端口:N+1 (N>1023) -
被动模式中,端口号的使用情况?
服务器端命令端口:21 (可自定义修改:编辑 > 设置 > 常规设置 > 监听端口)
服务器端数据端口:N (N>1023)(可自定义修改:编辑 > 设置 > 被动模式设置 > 使用自定义端口范围)
客户端命令端口:N (N>1023)
客户端数据端口:N+1 (N>1023) -
服务器端默认使用什么模式?
服务器端会同时提供主被动两种模式的服务,具体使用哪一种,取决于客户端软件的设置 (FileZilla的位置为:编辑 > 设置 > 连接 > FTP > 传输模式)
服务器端不管是安装后按照默认参数使用,还是手动更改被动模式的端口号范围,都不会影响其“同时提供主被动两种模式的服务” -
windows资源管理器中直接访问时用的是什么模式?
被动模式 -
NAT外网透传需要注意什么?
一般推荐使用默认的被动模式(需要设置被动模式端口的自定义范围X)
NAT映射内外网IP的以下端口:21、20、自定义范围X
如果有防火墙,需要在防火墙中放行以上端口
服务器端软件设置中,需要设置外网IP(如图)