当前位置:首页 > > 切换IP软件

socks5代理验证问题

来源:我爱加倍游 时间:2020-03-01

我的程序要通过socks5代理,在代理服务器没有帐户和密码的时候,能够通过代理成功.但在设置了代理密码和账号的时候,代理服务器在验证的时候总是返回错误.

验证请求代码如下:

typedef struct authreq
{
char Ver;
char Ulen;
char Name[255];
char PLen;
char Pass[255];
}AUTHREQ;

char buff[600];

sUserName="test";
sPassword="test";

AUTHREQ *p_authreq;
p_authreq = (AUTHREQ *)buff;
memset(buff,0,600);
p_authreq->Ver = 1;
p_authreq->Ulen = sUserName.length();
strcpy(p_authreq->Name,sUserName.c_str());
p_authreq->PLen = sPassword.length();
strcpy(p_authreq->Pass,sPassword.c_str());

_socket->write(buff,513);

在recv的时候总是返回0x05 0x05这两个字节.(STATUS应该返回0x00才是通过验证啊)

我在superproxy代理服务器软件代理网易POPO都能通过验证,但是显示我的程序是密码错误(如果你的账号不正确的时候,会显示你的账号不对,而不是密码错误)

我在想 是不是密码不是明文传送的呢?
请做过的大哥指点!先谢谢啦!

要好几步,先问验证方式啊,等返回,……………………
你最好看下、RFC文档

user name和password的layout应该如下:
name_len user_name paswd_len passwd
按照你的定义,除非你的user name和passwd都刚好是255字节,否则话,在user name和passwd_len就会有多余的字节

谢谢咯,我已经纠正了.开始我也想到这样了,但是粗心,把版本号0x01给写成'1',字符串的长度都成了字符咯.所以也出错了!这回就没有问题了!
谢谢DoItFreely(Freely).

上一篇:独享代理与共享代理有什么区别?

下一篇:Socks5代理协议

相关文章

Copyright @ 2014-2015 我爱加倍游 版权所有

提示:“我爱加倍游”仅能对游戏进行加速,谢绝用于任何非法用途!