原文

FTP sessions use two network connections:

  1. The control channel is for user authentication and sending commands and ...

  2. The data channel is for transferring files and directory listings.

If you can connect to an FTP server but not transfer files or directory listings, the most likely cause is a blocked data channel.

More About FTP Control Channels

FTP sessions are established on the FTP control channel. If you are able to connect and authenticate then your control channel is probably fine. The default port is 21 for most control channels except for FTPS Implicit connections for which 990 is the default. Use the /port=x option of the FTPLOGON command to make Robo-FTP attempt a control channel connection on a specific port.

More About FTP Data Channels

FTP data channels are opened and closed as needed during an FTP session. There are two methods or opening a data channel:

  1. Passive Mode is the preferred data channel method for modern FTP clients because, in this mode, the client opens an outbound connection to a port specified by the server. A client sends the PASV command to request that a server allow an inbound data channel connection. The server responds with an IP address and port number on which it will be waiting for the client to open a connection.

  2. Active Mode is falling out of favor because it requires that the server make an inbound connection to the client computer. When a client requests an active mode connection, it sends the PORT command along with its IP address and the port where it will be waiting for the server to open a connection.

Beginning with version 3.7 Robo-FTP defaults to passive mode because, in our experience, the chances of making a successful outbound connection are higher than those of accepting a successful inbound connection.

Troubleshooting

When you can connect but not list or transfer files, the first troubleshooting step should be to try the opposite data channel mode. In Robo-FTP, add the /pasv=false option to the FTPLOGON command line to use active mode or remove it to revert to the default passive mode.

If you are using passive mode data connections:

  1. Contact the owner of the FTP server and ask "What is your passive port range?" then ask your network administrator to allow outboundconnections to the FTP server on that port range.

  2. Decode the port number from the server's PASV response (see below) and then use the Classic TCP-only Javascript Client onwww.firebind.com to test outbound connectivity on that port.

If you are using active mode data connections:

  1. Ask your network administrator to allow inbound connections to your computer and then use the /minport/maxport and /myipaddroptions of the FTPLOGON command to force Robo-FTP to send a public IP address in an allowed port range.

Decoding port numbers

Examine the Trace Log and find the PORT or PASV command. There should be six digits separated by commas. To decode the port number, take the 5th number and multiple by 256 then add the 6th number. For example, if your Trace Log contains this:

->- PASV
-<- 227 Entering Passive Mode (209,198,133,148,170,225)

This means that the server is waiting for an incoming passive mode data channel connection on port 43745

43745 = (170 * 256) + 225

I can connect to an FTP site but I can't list or transfer files.的更多相关文章

  1. iis 7.5 ftp site用户名不能是 'ftp'?

    在windows server 2008 r2上配置一个iis ftp site,创建了一个名为 ftp 的账号,并添加到允许规则中,可总是出现: Connected to ***.***.***.* ...

  2. ftp上传文件出现553 Could not creat files 严重文件传输错误

    之前上传文件到云服务器上一直出错,发现可以下载但是不能上传和编辑,后来终于找到原因了,是因为上传文件所在文件夹默认只有root用户才有写权限,所以我们还要将写权限赋予给其他用户.可以用Xshell 5 ...

  3. 在Window的IIS中创建FTP的Site并用C#进行文件的上传下载

    文件传输协议 (FTP) 是一个标准协议,可用来通过 Internet 将文件从一台计算机移到另一台计算机. 这些文件存储在运行 FTP 服务器软件的服务器计算机上. 然后,远程计算机可以使用 FTP ...

  4. 创建FTP的Site并用C#进行文件的上传下载

    创建FTP的Site并用C#进行文件的上传下载 文件传输协议 (FTP) 是一个标准协议,可用来通过 Internet 将文件从一台计算机移到另一台计算机. 这些文件存储在运行 FTP 服务器软件的服 ...

  5. RedHat6.2搭建FTP服务器

    我的环境: A:Red Hat Enterprise 6.2 IP:192.168.16.12 此机作测试端 B:Red Hat Enterprise 6.2 IP:192.168.16.13 此机做 ...

  6. ftp 操作,支持断点续传或者继续下载。

    1.ftpclient 类 public class FTPClient:IDisposable { public static object _obj = new object(); #region ...

  7. Android中FTP服务器、客户端搭建以及SwiFTP、ftp4j介绍

    本文主要内容: 1.FTP服务端部署---- 基于Android中SwiFTP开源软件介绍: 2.FTP客户端部署 --- 基于ftp4j开源jar包的客户端开发 : 3.使用步骤 --- 如何测试我 ...

  8. ftp中ftpClient类的API

    org.apache.commons.NET.ftp  Class FTPClient类FTPClient java.lang.Object java.lang.Object继承 org.apache ...

  9. org.apache.commons.net.ftp

    org.apache.commons.NET.ftp Class FTPClient类FTPClient java.lang.Object Java.lang.Object继承 org.apache. ...

随机推荐

  1. js常见函数汇总

    /**  * 隐藏元素  * @param {String} elem  */ function hide(elem){     var curDisplay = getStyle(elem, 'di ...

  2. ipython

    ipython 是一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数. T ...

  3. unbuntu server (linux系统)下面安装 lamp

    1.sudo apt-get update 2.sudo apt-get install apache2 3.检查是否安装成功: apache2 -v 4.sudo apt-get update ph ...

  4. 通过反射得到object[]数组的类型并且的到此类型所有的字段及字段的值

    private string T_Account(object[] list) { StringBuilder code = new StringBuilder(); //得到数据类型 Type t ...

  5. 转载: Emmet:HTML/CSS代码快速编写神器

    Emmet:HTML/CSS代码快速编写神器 因为文章严禁转载,那本着做一个遵纪守法的好公民,我就不转载了,把链接放下面,方便查阅. http://www.iteye.com/news/27580

  6. 墨菲定律-Murphy's Law (转载)

    墨菲定律 “墨菲定律”(Murphy's Law)亦称莫非定律.莫非定理.或摩菲定理,是西方世界常用的俚语. “墨菲定律”:事情往往会向你所想到的不好的方向发展,只要有这个可能性.比如你衣袋里有两把钥 ...

  7. 推荐csdn里的几篇activiti基础入门及提高的博客

    昨天有个网友加qq询问我有没有非maven搭建的activiti项目的demo,因为我博客中写了一个用maven,我当时没有,于是晚上回家尝试了一下,结果比较容易就实现了. 之后和那个网友聊了一下,他 ...

  8. NET异常 在 getsockopt 或 setsockopt 调用中指定的一个未知的、无效的或不受支持的选项或层次。

    var Listener = new TcpListener(IPAddress.Any, port); Listener.AllowNatTraversal(true); // 在WIN8中调试没问 ...

  9. NeHe OpenGL教程 第四十七课:CG顶点脚本

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  10. gerrit error: unpack failed: error Permission denied

    gerrit服务器迁移后,clone和pull代码到本地,都没问题. 但是,push时,报错: 查看了下git版本库存储目录,发现git下版本库镜像文件owner都是root.因为之前安装的gerri ...