(转)ftp可以正常登录,但登录后执行ftp命令没有响应

首先需要了解ftp的工作模式:
FTP支持两种模式,一种方式叫做Standard (也就是 PORT方式,主动方式),一种是 Passive (也就是PASV,被动方式)。 Standard模式 FTP的客户端发送 PORT 命令到FTP服务器。Passive模式FTP的客户端发送 PASV命令到 FTP Server。
  
下面介绍一个这两种方式的工作原理:
  Port模式FTP 客户端首先和FTP服务器的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。
  Passive模式在建立控制通道的时候和Standard模式类似,但建立连接后发送的不是 Port命令,而是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口进行数据的传送。
这样当使用port方式时20端口被禁用则执行ls,get之类的ftp命令时,会看到命令无法输出结果。而在pasv方式时,由于防火墙的存在,不允许外部发起的连接,所以client端无法穿过防火墙打开高端端口进行传输。当遇到类似AIX系统ftp可以正常登录,但执行登录后ftp命令没有响应的问题是就需要开启20端口或者关闭防火墙。

我的做法是:telnet IP 20/21看是否能连通.
参与7

6同行回答

满天星满天星系统工程师********
学习了,看来端口对于FTP正常使用是很重要的!显示全部
学习了,看来端口对于FTP正常使用是很重要的!收起
系统集成 · 2013-09-16
浏览2116
迷糊的猪迷糊的猪系统工程师北京软通动力软件有限公司
谢谢分享显示全部
谢谢分享收起
系统集成 · 2013-09-16
浏览2114
qihuoqihuo信息技术经理山东天普阳光集团
支持版主,收藏学习了,留着备用。显示全部
支持版主,收藏学习了,留着备用。收起
工业制造其它 · 2012-06-02
浏览2057
zhenzongjianzhenzongjian软件开发工程师na
这个前天遇到过.ftp可以连接上,执行ls等命令不行.网上查了下,确定是20端口的防火墙上没有开通...显示全部
这个前天遇到过.
ftp可以连接上,
执行ls等命令不行.

网上查了下,确定是20端口的防火墙上没有开通...收起
互联网服务 · 2012-06-01
浏览1994
tiantomtiantom技术经理****有限公司
学习了,呵呵,显示全部
学习了,呵呵,收起
互联网服务 · 2012-05-31
浏览2147
mophismophis软件开发工程师杭州
支持总监!显示全部
支持总监!收起
互联网服务 · 2012-05-31
浏览2034

提问者

zhenzongjian
软件开发工程师na
擅长领域: 服务器AIXUnix

相关问题

问题状态

  • 发布时间:2012-05-31
  • 关注会员:1 人
  • 问题浏览:7294
  • 最近回答:2013-09-16
  • X社区推广