Closed bbhxwl closed 4 years ago
没有需求,但是留了相关代码,你可以自己添加.
没有需求,但是留了相关代码,你可以自己添加.
那能问一下,如果限制远程访问的ip的话,我是明白可以在TCP_Connect 判断客户端ip来限制了,但是账号和密码应该在哪个方法里面呢,不太了解s5 协议,需要自己解析TCP_Receive 里面的数据么?求指点一下。
Usability_Check方法的 UDP_Proxy_List.Remove(i); 异常了
付费帮忙加一个行么。目前是知道 要求验证后,客户端会返回01 06 6C 61 6F 74 73 65 06 36 36 36 38 38 38。就是不知道在这里怎么修改。我添加了如下方法,应该是可以告知要求验证。不知道根据什么接收信息,并返回什么数据
if (Methods.Contains((byte)2))
{
TCP_Send(State_Vt.Tcp_Client, DataHandle.Authentication_Required);
State_Vt.TCP_Stream.BeginRead(Receive_Data, 0, Data_Size, new AsyncCallback(TCP_Receive), State_Vt);
}
1、01固定的
2、06这一个字节这是指明用户名长度,说明后面紧跟的6个字节就是用户名
3、6C 61 6F 74 73 65这就是那6个是用户名,是laotse的ascii
4、又一个06共1个字节指明密码长度,说明后面紧跟的6个字节就是密码
5、36 36 36 38 38 38就是这6个是密码,666888的ascii。
6、假如这后面还有字节,一律无视。
36 36 36 38 38 38不是很懂你为什么要用ascii,如果是发送byte[],十进制会默认转换成byte发送,所以不需要手动填ascii.
成功接收账号密码后,判断成功返回1,0表示验证成功,客户端就会开始发送,返回1,1则表示失败,应该断开连接了.
36 36 36 38 38 38不是很懂你为什么要用ascii,如果是发送byte[],十进制会默认转换成byte发送,所以不需要手动填ascii.
不是我写ascii,我是不了解这个协议基础,想加个身份验证,就百度查了一下文章https://blog.csdn.net/liujiayu2/article/details/51691778 我执行这个代码后 Console.WriteLine(Data_Type); else if (Methods.Contains((byte)2)) { TCP_Send(State_Vt.Tcp_Client, DataHandle.Authentication_Required); State_Vt.TCP_Stream.BeginRead(Receive_Data, 0, Data_Size, new AsyncCallback(TCP_Receive), State_Vt); }
好像是会返回我身份验证的一些信息,我监视Data_Type 是1的时候,好像是需要验证账号和密码的地方,我直接放回,好像也没有成功,不知道为什么。可以加下qq么。 TCP_Send(State_Vt.Tcp_Client, DataHandle.Authentication_Success); State_Vt.TCP_Stream.BeginRead(Receive_Data, 0, Data_Size, new AsyncCallback(TCP_Receive), State_Vt);
你说企鹅号吧.
470138890
可以加了。
貌似是群友,看群消息.whmcs交流群.
考虑增加个账号密码验证呗。