********************************************************************/ #include 〈stdio.h〉 #include 〈winsock2.h〉 #include "TCPDataRedird.c" #pragma comment(lib,"ws2_32.lib") #define TargetIP "192.168.1.3" #define TargetPort (int)3389 #define AgentMasterIP "202.1.1.1" #define AgentMasterPort (int)12345 int main() { WSADATA wsd; SOCKET sock[2]=; struct sockaddr_in Master,Target; HANDLE hThreadC2T=NULL,//C2T=ClientToTarget hThreadT2C=NULL;//T2C=TargetToClient DWORD dwThreadID; __try { //load winsock library if(WSAStartup(MAKEWORD(2,2),&wsd)!=0) { printf("\nWSAStartup() failed:%d",GetLastError()); __leave; } //循环 while(1) { //create client socket sock[0]=socket(AF_INET,SOCK_STREAM,IPPROTO_IP); if(sock[0]==INVALID_SOCKET) { printf("\nsocket() failed:%d",GetLastError()); __leave; } //create target socket sock[1]=socket(AF_INET,SOCK_STREAM,IPPROTO_IP); if(sock[1]==INVALID_SOCKET) { printf("\nsocket() failed:%d",GetLastError()); __leave; } //fill struct Target.sin_family=AF_INET; Target.sin_addr.s_addr=inet_addr(TargetIP); Target.sin_port=htons(TargetPort); Master.sin_family=AF_INET; Master.sin_addr.s_addr=inet_addr(AgentMasterIP); Master.sin_port=htons(AgentMasterPort); //connect to AgentMaster if(connect(sock[0],(struct sockaddr *)&Master,sizeof(Master))==SOCKET_ERROR) { //连接失败后,等待一会儿再连 printf("\nconnect() to master failed:%d",GetLastError()); closesocket(sock[0]); closesocket(sock[1]); Sleep(5000); continue; } printf("\nconnect to %s %d success!",AgentMasterIP,AgentMasterPort); //connect to target if(connect(sock[1],(struct s上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页 |