以下问题均以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(如图)
  • java ftp主动模式和被动模式设置 ftp改主动被动_服务器端