LAN 上的 FTP 服务器的网络配置

LAN 上的 FTP 服务器的网络配置

我正在寻找一种方法来调试/诊断由多个子网组成的工作局域网。

更具体地说,我正在尝试寻找一些好的工具(windows / linux),它们可以给我提供哪些端口是打开的或哪些机器/网络可以从给定机器访问的信息。

目前,我在 vSphere 中托管的虚拟 Windows 7 计算机上安装了 FileZilla FTP 服务器。我已验证 FTP 服务器正在作为服务运行,并配置了admin具有单个共享文件夹的单个用户c:\test。但是当我尝试从笔记本电脑连接时,服务器日志显示:

(000012)18-12-2013 15:46:28 - admin (172.22.74.144)> PWD
(000012)18-12-2013 15:46:28 - admin (172.22.74.144)> 257 "/" is current directory.
(000012)18-12-2013 15:46:28 - admin (172.22.74.144)> TYPE I
(000012)18-12-2013 15:46:28 - admin (172.22.74.144)> 200 Type set to I
(000012)18-12-2013 15:46:28 - admin (172.22.74.144)> PASV
(000012)18-12-2013 15:46:28 - admin (172.22.74.144)> 227 Entering Passive Mode (172,22,80,8,192,35)
(000012)18-12-2013 15:46:28 - admin (172.22.74.144)> MLSD
(000012)18-12-2013 15:46:39 - admin (172.22.74.144)> 425 Can't open data connection.
(000012)18-12-2013 15:48:39 - admin (172.22.74.144)> 421 Connection timed out.
(000012)18-12-2013 15:48:39 - admin (172.22.74.144)> disconnected.

我尝试阅读本指南但不明白需要什么: https://wiki.filezilla-project.org/Network_Configuration

这里说:

https://forum.filezilla-project.org/viewtopic.php?f=6&t=24925

ftp 使用 tcp,所以我需要转发一些端口吗?

在 Windows 服务器上我尝试运行netstat -an

这使:

 TCP    [::]:21                [::]:0                 LISTENING
 TCP    [::]:135               [::]:0                 LISTENING
 TCP    [::]:445               [::]:0                 LISTENING
 TCP    [::]:3389              [::]:0                 LISTENING
 TCP    [::]:49152             [::]:0                 LISTENING
 TCP    [::]:49153             [::]:0                 LISTENING
 TCP    [::]:49154             [::]:0                 LISTENING
 TCP    [::]:49155             [::]:0                 LISTENING
 TCP    [::]:49157             [::]:0                 LISTENING
 TCP    [::1]:14147            [::]:0                 LISTENING

但不知道如何解释上述输出。

我似乎可以通过端口 21 远程登录到该机器telnet my-windows-server 21

220-FileZilla Server version 0.9.41 beta
220-written by Tim Kosse ([email protected])
220 Please visit http://sourceforge.net/projects/filezilla/

这是否表明端口已开放?

更一般地说,解决这样的问题时首先要检查/验证什么?

答案1

您的子网是否经过过滤(ACL、防火墙......)?

above output正在谈论的以数字地址显示服务器上的监听和非监听端口,以及它们监听的接口(和协议 TCP/UDP)。

要调试此问题,Telnet host port一个很好的起点是检查端口是否正在侦听并通过网络打开,但这仅适用于 TCP 端口。就您而言,是的,这表明端口 21 已打开。

您还可以使用它nmap myserver来获取给定目标主机的开放端口列表,它还可以检查 UDP 端口,并且它可以在 Windows 和 Linux 操作系统上运行。

另外,我会使用网络嗅探器tsharkwireshark在服务器端查看发生了什么。

请注意,有两种 FTP 模式:主动或被动:

  • 主动模式使用端口 TCP/21 进行控制,使用端口 TCP/20 进行数据(端口固定的)。
  • 被动模式使用端口 TCP/21 进行控制,使用 1024 至 65534 之间的任何 TCP 端口进行数据传输。这些端口是动态的

就你的情况而言,我认为你的问题必须解决。从你的错误日志来看,你处于被动模式。

我会尝试主动模式。

相关内容