当前位置:  技术问答>linux和unix

奇怪!!!关于 ftp 服务器的问题

    来源: 互联网  发布时间:2016-05-06

    本文导语:  char *a, *p, *temp; char szCommand[256]; struct sockaddr_in data_addr; int add; char* c; size_t len = sizeof(data_addr); if (-1==getsockname(ftp->CommandChunnel, (struct sockaddr*)&data_addr, &len)) return false; printf("data_addr.sin_port = %dn",da...

char *a, *p, *temp;
char szCommand[256];
struct sockaddr_in data_addr;
int add;
char* c;

size_t len = sizeof(data_addr);
if (-1==getsockname(ftp->CommandChunnel, (struct sockaddr*)&data_addr, &len))
return false;
printf("data_addr.sin_port = %dn",data_addr.sin_port );
        temp = inet_ntoa(data_addr.sin_addr);
                printf("Ip is:%sn",temp); 

data_addr.sin_port = 0;
data_addr.sin_addr.s_addr = htonl(INADDR_ANY);
                data_addr.sin_family = AF_INET;

                
ftp->DataChunnel = FPF_Socket(SOCK_STREAM);

if (ftp->DataChunnel ==INVALID_SOCKET)
{
       printf("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaan");
return false;
}
if (-1==bind(ftp->DataChunnel, (struct sockaddr*)&data_addr, sizeof(data_addr)))
{
       printf("bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbn");
return false;
}
if (-1==getsockname(ftp->DataChunnel, (struct sockaddr*)&data_addr, &len))
{
       printf("cccccccccccccccccccccccccccccccccccccccccn");
return false;
}
if (!FPF_SockListen(ftp->DataChunnel, 1))
{
       printf("ddddddddddddddddddddddddddddddddddn");
       return false;
}
printf("data_addr.sin_port = %dn",data_addr.sin_port );
        temp = inet_ntoa(data_addr.sin_addr);
                printf("Ip is:%sn",temp); 
a = (char *)&data_addr.sin_addr;
p = (char *)&data_addr.sin_port;

              add=inet_addr(g_sysinfo.hostIP);
              c=(char *)&add;

#define UC(b) (((int)b)&0xff)

sprintf(szCommand, "PORT %d,%d,%d,%d,%d,%d",
UC(c[0]), UC(c[1]), UC(c[2]), UC(c[3]), UC(p[0]), UC(p[1]));

                //发送命令,得到结果
if (!FPF_FtpSendCommand(ftp, szCommand) || ftp->nReplyCode/100==ERROR)
return false;
}
return true;
}

结果出现    
data_addr.sin_port = 51585
Ip is:192.168.21.27
data_addr.sin_port = 51485
Ip is:192.168.21.27
CMD>PORT 134,128,140,33,29,201
Send command 'PORT 134,128,140,33,29,201' success
Receive reply is [500 Illegal PORT command.
]!
   不知道什么原因

如果使用被注释掉的内容,则同样不行,结果为

data_addr.sin_port = 52097
Ip is:192.168.21.27
data_addr.sin_port = 52353
Ip is:0.0.0.0       (注意)
CMD>PORT 134,128,140,33,129,204
Send command 'PORT 134,128,140,33,129,204' success
Receive reply is [500 Illegal PORT command.
]!

|
貌似代码不全...

|
还是写个脚本方便,直接调用脚本 system("../ftp_file.sh")

    
 
 

您可能感兴趣的文章:

  • 新弄了台服务器,配置都比台式机要强,但是出现一个奇怪的问题
  • 很奇怪的问题:linux下tcp send导致服务器进程崩溃
  • Linux服务器的奇怪问题!HELP....
  • 晕~奇怪阿,今天刚把一台服务器的ip地址改了,该ip上的邮件收发就不正常了,用的是sendmail~~~~
  • 连接服务器前一个奇怪的问题
  • 关于J2EE服务器的奇怪问题!
  • 关于xl2tpd做VPN服务器的奇怪问题。
  • shm_open函数问题.奇怪!!!奇怪!!!!!
  • 奇怪的问题 奇怪的问题,向大家请教
  • 好奇怪的问题哎………………怎么也不能安装!
  • unix下的非常的奇怪WC的问题,向unix高手请教 好急呀!!!!!!!!!!!!!!!
  • 关于LINUX I2C,GCC的奇怪问题。。。问题依旧。。
  • 奇怪,怎么“已解决”问题只有4页(10/17日之后的),以前的已解决问题到哪里看?
  • 问一个很奇怪的线程调用的问题
  • 很奇怪的shell问题
  • 一个奇怪的路径问题
  • 奇怪!关于字串参数的问题?
  • ————奇怪的现象:不能关闭TOMCAT的问题————
  • 使用FC4一个奇怪问题,放入光盘后死机?
  • !!!初学Java,遇到一个奇怪问题,请大家回答!!!
  • SOCKET发送奇怪问题!!!
  • 请教redhat8.0中的两个问题~奇怪啊~
  • 引用的奇怪问题
  • oracle iis7站长之家
  • killall 奇怪的问题,百思不得其解
  • jsp Web 部署后的奇怪问题???
  • rmmod出现的奇怪问题,求解,急急!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 奇怪!奇怪!真奇怪!!!
  • 奇怪奇怪真奇怪
  • 奇怪,真奇怪,在线等待
  • 奇怪奇怪...........?????...........
  • solaris上的C程序,编译报错: 存储类只能使用register,奇怪,奇怪!
  • 奇怪!奇怪!我用jbuilder编jsp程序,从数据库中取出的字符串型字段却显示16进制数
  • 奇怪啊,奇怪,为什么我的JB7做EJB时,只要在EJB设计面板上随便做点东西,我的EJB的JAVA的源码就会变的不见了,或者少了很多字段申明??
  • 奇怪,CSDN的贴子,提问部分我最多能看到第4行??!!
  • accept,recvfrom接收到奇怪的ip
  • 一个特奇怪的函数申明错误
  • 一些奇怪的现象,帮帮我
  • 奇怪的四分之一屏!!
  • 好奇怪啊,大家帮忙啊
  • 奇怪的gets()!!求救!!
  • 奇怪,vi vim有区别?
  • VIM高手进来看,vim中出现了奇怪的颜色。
  • 我遇到的一个巨奇怪的事情:
  • red hat 运行 mysql5.1 出现奇怪提示
  • QT 再现奇怪的问题
  • 关于semget的奇怪问题,请大家帮忙:)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3