我的 FTP 客户端和服务器位于不同的路由器后面(执行 NAT)。服务器端的路由器已打开正确的端口以进行工作。我的 FTP 客户端配置为使用主动模式,当我尝试将文件上传到服务器时,它会发送以下命令:
PORT 192,168,1,42,184,89
没问题,我的客户端(内部 IP 为 192.168.1.42)正在尝试在 PORT 命令指定的端口上与服务器建立数据连接。问题是服务器能够响应我。由于我在路由器后面,这怎么可能呢?TCP 服务器从哪里获得公共 IP 以通过互联网到达我的路由器?
谢谢。
答案1
NAT 可能会在PORT
命令中转换 IP 地址。如果流量未加密,则可能会发生这种情况。尝试启用 TLS/SSL 加密。然后数据连接应该会失败。