我有一个应用程序,使用 Wininet.dll 执行所有 FTP 操作。
操作系统是Windows Server 2003。FTP模式是主动FTP。
不幸的是,FTP 服务器监听的端口是非标准的(即不是 21)。这意味着我和 FTP 服务器之间的 Sonicwall 防火墙不够智能,无法自动识别源端口 20 上的活动 FTP 会话并允许数据连接重新连接。
我必须明确列出我希望打开的入站端口,以便来自 FTP 服务器的数据连接可以返回到客户端应用程序。
我如何控制 Wininet 监听活动 FTP 连接的端口范围 - 因为从该目的地打开所有端口(或不必要的大范围)不是一个选项。
我确信这个设置埋在注册表的某个地方 - 但谷歌并没有帮助我找到它。
非常感谢,大卫。
答案1
端口 20 和 21 都是 FTP 端口。21 是启动连接的第一个端口。文件的实际传输是在端口 20 上完成的。您可以阅读更多内容这里。您可以仔细检查您的 SonicWall 并查看其设置方式,看看是否已将端口 20 分配给任何内容。否则,请为端口 20 和 21 创建一个组规则,并将该组规则用于您的 NAT,而不仅仅是使用端口 21。