首页 文章

使用Telnet检查FTP服务器是被动还是活动[关闭]

提问于
浏览
0

我想检查我的FTP服务器是主动还是被动 . 我只有服务器名称,用户名和密码 . 我试图改编这个链接去做 - FTP Detect if active or passive modes are enabled

我可以使用GUI FTP客户端连接到此服务器 . 但是,在microsoft / windows telnet中,我使用了命令 o ftp.myftp.com . 但是,我收到错误 - Could not open connection to the host on port 23:connect Failed .

如何解决这个问题并查明我的服务器是否正在进行主动或被动ftp连接?

1 回答

  • 2

    主动/被动由客户端控制,而不是服务器 . 当客户端启动文件传输时,它决定是执行活动传输( PORTEPRT 命令)还是执行被动传输( PASV 命令),因此可以基于每次传输指定模式 .

    FTP默认在端口21上运行,而不是在端口23上运行 . 您必须告诉telnet要连接的端口,例如:

    o ftp.myftp.com 21
    

    发送 PASV 命令时,成功的响应代码始终为227,但遗憾的是,指定服务器的侦听IP /端口的实际文本不是标准化的,因此不同的FTP服务器供应商之间也不同 . 这甚至在RFC 1123中提到:

    227回复PASV命令的格式没有很好地标准化 . 特别是,FTP客户端不能假定RFC-959的第40页上显示的括号将出现(事实上,第43页的图3省略了它们) . 因此,解释PASV回复的用户FTP程序必须扫描回复以获取主机的第一个数字和端口号 .

    RFC 1123还说明:

    服务器-FTP必须实现PASV命令 .

相关问题