ocket(sock[1]); }//end of socket while }//end of try __finally { //clean all if(s3389!=INVALID_SOCKET) closesocket(s3389); if(s1981!=INVALID_SOCKET) closesocket(s1981); if(sock[0]!=INVALID_SOCKET) closesocket(sock[0]); if(sock[1]!=INVALID_SOCKET) closesocket(sock[1]); if(hThreadC2T!=NULL) CloseHandle(hThreadC2T); if(hThreadT2C!=NULL) CloseHandle(hThreadT2C); WSACleanup(); } return 0; } /*********************************************************************************** Module:AgentSlave.c Date:2001/4/17 Copyright(c)eyas HomePage:www.patching.net 说明:这个程序负责连接最终目标,连接主控端,然后转发数据 这里连接到AgenrMaster的socket相当与sClient==〉sock[0], 连接到最终目标的socoket是sTarget==〉sock[1] ***********************************************************************************/ #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
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >> |