本人写的FTP服务器,返回PASV命令字符串时,客户端无法解析IP及端口,出现Passive Mode address scan failure错误~~~
各位好,本人最近写了一个FTP服务器代码,用linux系统自带的FTP客户端进行测试,当进行PASV命令时,
服务器返回“227 Entering Passive Mode (127,0,0,1,6,2)”,这是按照rfc协议来的,
但客户端处打印“Passive Mode address scan failure.shouldn't happen”,说是无法解析发过来的IP地址,
不知道什么原因?
我看了一下ftp.c源文件,代码是这样的:
if (sscanf(pasv,"%d,%d,%d,%d,%d,%d",&a0, &a1, &a2, &a3, &p0, &p1) != 6)
{
printf("Passive mode address scan failure. ""Shouldn't happen!\n");
goto bad;
}
我专门debug设断点跟了一下我的PASV返回字符串,为“227 Entering Passive Mode (127,0,0,1,6,2)\r\n”,按道理没有问题啊,不知道客户端怎么解析的,也不知道错在哪里,请各位指点,多谢啦~~~