被动FTP高端口范围 – 端口实际上可以不同?

使用Passive FTP时,服务器指定的端口号是否可以以任何方式更改?

例如,如果我在服务器上的日志中看到以下内容,服务器是否实际提供了除logging以外的值? (请注意,IP已被删除以保持匿名)

227 Entering Passive Mode (xxx,xxx,xxx,xxx,19,181) 

除非我正确地读取这个错误,否则有问题的服务器已经声明要使用端口5045((19 * 256)+181)


我目前正与一家云存储托pipe公司发生争执 – 我不会指名,因为这不公平。

他们说他们被动的FTP端口范围是微软的“标准”1025-5000 …但是我的服务器上的日志(处理定期备份,以及上面的例子中的报价)显示该端口经常超过5000的限制。

他们坚决否认他们的服务器是设置在标准范围以外的任何东西。

我需要知道的是,我的日志文件是否是实际的证据,表明端口在指定范围之外被指定 – 或者服务器托pipe公司(我正在运行的云服务器通过FTP发送信息)是否可以对它?


更新中…

承载我们的应用程序运行的云服务器的公司已经确认,他们的最终没有任何东西会改变端口。

我仍然相信FTP服务器configuration的端口范围超过了他们声明的5000个限制…但我无法certificate它。

该系统目前正在运行,并按我的需要工作 – 这要感谢主机公司开放更大范围的出站端口。

我仍然有兴趣知道什么选项(如果有其他人@Steffan列出的)可能会影响端口号。 但是这更重要的是解决紧急问题。

服务器是否有可能提供了除logging以外的值?

通常,对PASV的响应中提供的IP和端口是服务器本地的。 但是由于FTP协议在与NAT路由,防火墙等使用时会导致很多麻烦,有时您在响应中看到的IP不是服务器的IP:

  • 一些服务器能够在configuration文件中指定一个不同的IP地址,这个地址应该在响应中使用,而不是服务器的真实IP地址。 当服务器在具有端口转发的NAT路由器后面使用时,这用于解决问题。
  • 在类似的情况下(NAT路由器后面的服务器),可能会发生您实际连接到NAT路由器(即FTP控制连接),但被动响应中的IP看起来不同。 在这种情况下,这通常是服务器的真正本地IP和路由器的公共可见IP。
  • 然后有路由器或防火墙雇佣佣工处理FTP。 这些助手可能会重写IP,也可能在PASV响应中的端口指向中间件本身的侦听器或数据包filter状态。 这可能是你的情况发生了什么。