ftp可以正常登录,但登录后执行ftp命令没有响应
2010-01-15 17:25
393 查看
首先需要了解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端口或者关闭防火墙。
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端口或者关闭防火墙。
相关文章推荐
- passwd命令读取的shadow文件没有任何权限,为什么普通用户可以正常登录
- java -cp的用法 可以使用这个命令执行类中的main, 在没有minfest的情况下
- 如果没有按照正常的先装iis后装.net的顺序,可以使用此命令重新注册一下:
- 如果没有按照正常的先装iis后装.net的顺序,可以使用此命令重新注册一下:
- linux服务器上使用ftp命令可以登录,但是vsftpd无法登录
- 利用process.start()启动WinRAR.exe执行压缩命令在本地运行正常,放到服务器时WinRAR.exe也正常启动了,但没有成功完成压缩指令
- mysql使用kill命令解决死锁问题,杀死某条正在执行或没有响应的sql语句,
- php加入&转到后台运行之后没有正常执行,前台手动php执行脚本可以
- 手动运行脚本执行正常而放入crontab调用hadoop命令没有执行成功
- 如果没有按照正常的先装iis后装.net的顺序,可以使用此命令重新注册一下:
- ssh 远程执行多个命令,有通配符要使用双引号,没有则可以不用
- Mac安装mosquitto 使用brew安装后没有mosquitto命令可以执行
- Hibernate SQLQuery查询返回空List,在mysql命令下直接执行sql语句可以正常得到记录
- 下面的命令可以查出在域控中过去10周内没有登陆的计算名
- 在IIS建立的ftp,可以成功连接登录,但是不显示目录
- jmeter 非GUI执行测试,导入jtl文件没有响应数据出来办法
- 安装了dns且可以正常工作为什么还有"没有可以使用的"DNS服务器"的错误
- FTP执行AS400命令
- 一个可以限制执行时间的命令timeout
- 让history命令可以记录所有shell命令的执行时间