C++使用Socks5协议进行代理上网(四)

上一篇文章链接:
https://blog.csdn.net/hu421160052/article/details/88871480

	//发送正式数据
	MessageBoxA(NULL, (const char*)message, "即将发送的正式数据:", NULL);//第一次认证,如果为1则正确,为0则错误
	send(sockClient, (char*)message, strlen((const char*)message), 0);

	char recvBuf[BUFFER_SIZE] = "";
	//第四次返回的头信息
	numl=recv(sockClient, (char*)recvBuf, sizeof(recvBuf), 0);
	t00 = (RecvMsg3[0] / 16), t01 = (RecvMsg3[0] % 16);
	t10 = (RecvMsg3[1] / 16), t11 = (RecvMsg3[1] % 16);
	t20 = (RecvMsg3[2] / 16), t21 = (RecvMsg3[2] % 16);
	t30 = (RecvMsg3[3] / 16), t31 = (RecvMsg3[3] % 16);
	t40 = (RecvMsg3[4] / 16), t41 = (RecvMsg3[4] % 16);
	t50 = (RecvMsg3[5] / 16), t51 = (RecvMsg3[5] % 16);
	t60 = (RecvMsg3[6] / 16), t61 = (RecvMsg3[6] % 16);
	t70 = (RecvMsg3[7] / 16), t71 = (RecvMsg3[7] % 16);
	t80 = (RecvMsg3[8] / 16), t81 = (RecvMsg3[8] % 16);
	t90 = (RecvMsg3[9] / 16), t91 = (RecvMsg3[9] % 16);


	int num = 1;

	sprintf(result, "Length:%d \r\n VER:0x%d%d\r\n RCV:0x%d%d\r\n RSV:0x%d%d\r\n ATYP:0x%d%d\r\n IP1:0x%d%d\r\n IP2:0x%d%d\r\n IP3:0x%d%d\r\n IP4:0x%d%d\r\n Port1:0x%d%d\r\n Port2:0x%d%d\r\n", numl,t00, t01, t10, t11,t20,t21,t30,t31,t40,t41,t50,t51,t60,t61,t70,t71,t80,t81, t90, t91);
	MessageBoxA(NULL, result, "第四次返回结果:", NULL);//第一次认证,如果为1则正确,为0则错误


	recvBuf[0] = '\0';
	//判断是否接收完整
	while (num = recv(sockClient, (char*)recvBuf, sizeof(recvBuf), 0)>0)
	{
		recvBuf[sizeof(recvBuf) - 1] = '\0';
		sprintf_s(rec, "%s%s", rec, recvBuf);
		memset(recvBuf, 0, sizeof(recvBuf));
		recvBuf[0] = '\0';
	}
	MessageBoxA(NULL, rec,"最终结果",NULL);
	//关闭连接
	closesocket(sockClient);
	WSACleanup();

返回结果:

在这里插入图片描述
(PS:这里由于具体数据敏感,所以屏蔽下,具体要给目的服务器发送什么数据,可以自己随意,最好是有返回值的,像我这种)
在这里插入图片描述
在这里插入图片描述(PS:由于数据敏感,所以打了下马赛克)

直到这一步,socks5代理上网的整个流程就结束了。

	recvBuf[0] = '\0';
	//判断是否接收完整
	while (num = recv(sockClient, (char*)recvBuf, sizeof(recvBuf), 0)>0)
	{
		recvBuf[sizeof(recvBuf) - 1] = '\0';
		sprintf_s(rec, "%s%s", rec, recvBuf);
		memset(recvBuf, 0, sizeof(recvBuf));
		recvBuf[0] = '\0';
	}

最后的返回值用到了socket数据的分片包装,这里可能会存在点问题,但是目前使用还没发现,不知道是心理作用还是什么,如果有知道的大侠,还请告知。

猜你喜欢

转载自blog.csdn.net/hu421160052/article/details/88871757
今日推荐