发新话题
打印

[原创]Client/Server Mode Source Code

[原创]Client/Server Mode Source Code

  文章作者:netxfly [E.S.T]
信息来源:邪恶八进制安全小组(www.eviloctal.com

Server End Source
复制内容到剪贴板
代码:
//netxfly [E.S.T]
#include "stdio.h"
#include "string.h"
#include "winsock2.h"

#pragma comment(lib,"ws2_32.lib")
//Function Ptototype Declaration
//-----------------------------------------------------
void usage(char *);
void SocketListen(int);
//-----------------------------------------------------
//End of Function Ptototype Declaration

//Main Function
int main(int argc,char *argv[])
{
   if(argc!=2)
   {
      usage(argv[0]);
   }
   else
   {
      SocketListen(atoi(argv[1]));
   }   
   return 0;
}   
//End of Main Function

//SocketListen Function
//---------------------------------------------------------------
//Server End wait to be Connected
//Return Type void
//Parameters: int -->The port which will be bind
//----------------------------------------------------------------
void SocketListen(int port)
{
   WSADATA   wsa;
   SOCKET    Slisten,Sconnect;
   struct    sockaddr_in server,client;
   int      ret;
   int      length;
   char     buffer[1024];
   char     Input[1024];
   
   if(WSAStartup(MAKEWORD(2,2),&wsa))
   {
      printf("Init Socket Failure...\n");
      exit(0);
   }
   if((Slisten=socket(AF_INET,SOCK_STREAM,0))==INVALID_SOCKET) //PF or AF?
   {
      printf("Create Socket Failure...\n");
      exit(0);
   }
   
   //Fill Sockaddr_in Structure  
   //--------------------------------------------
   server.sin_family=AF_INET;
   server.sin_port=htons(port);
   server.sin_addr.s_addr=INADDR_ANY;
   //--------------------------------------------  
   length=sizeof(struct sockaddr_in);
   ret=bind(Slisten,(struct sockaddr *)&server,length);
   if(ret==SOCKET_ERROR)
   {
      printf("Bind Port Failure...\n");
      closesocket(Slisten);
      exit(0);
   }  
   ret=listen(Slisten,10);
   if(ret==SOCKET_ERROR)
   {
      printf("Listen Local port Failure...\n");
      closesocket(Slisten);
      exit(0);
   }
   Sconnect=accept(Slisten,(struct sockaddr *)&client,&length);
   if(Sconnect==INVALID_SOCKET)
   {
      printf("Accept to Connect Failure...\n");
      closesocket(Slisten);
      exit(0);
   }   
   send(Sconnect,"Welcome,Hacker\n",strlen("Welcome,Hacker\n"),0);
   
   getchar();
   closesocket(Slisten);
   closesocket(Sconnect);
   WSACleanup();
}
//End Of SocketListen Function

//Usage Function Definiation
//--------------------------------------------------------------
//Provide help For user
//Parameters:  string
//--------------------------------------------------------------
void usage(char *help)
{
   printf("The Server Of C/s Mode By netxfly 04/30/2005\n");
   printf("usage:\n");
   printf("%s <port>\n",help);
   return ;
   
}
Client End Source
复制内容到剪贴板
代码:
//netxfly [E.S.T]
#include "stdio.h"
#include "string.h"
#include "winsock2.h"

#pragma comment(lib,"ws2_32.lib")
//Function Ptototype Declaration
//-----------------------------------------------------
void usage(char *);
void SocketConnect(char*,int);
//-----------------------------------------------------
//End of Function Ptototype Declaration

//Main Function

int main(int argc,char *argv[])
{
   if(argc!=3)
   {
      usage(argv[0]);
   }
   else
   {
      SocketConnect(argv[1],atoi(argv[2]));
   }     
   return 0;
}  
//End Of main Function

//SocketConnect Function
//---------------------------------------------------------------
//Connetct to Server End
//Return Type void
//Parameters: char* A string used present IP Address
//  int -->The port which will be connetct
//----------------------------------------------------------------
void SocketConnect(char *target,int port)
{
   WSADATA   wsa;
   SOCKET    Sconnect;
   struct    sockaddr_in client;
   int      length;
   char     buffer[1024];
   char     Input[1024];
   
   if(WSAStartup(MAKEWORD(2,2),&wsa))
   {
      printf("Init Socket Failure...\n");
      exit(0);
   }
   if((Sconnect=socket(AF_INET,SOCK_STREAM,0))==INVALID_SOCKET) //PF or AF?
   {
      printf("Create Socket Failure...\n");
      exit(0);
   }
   
   //Fill Sockaddr_in Structure  
   //--------------------------------------------
   client.sin_family=AF_INET;
   client.sin_port=htons(port);
   client.sin_addr.s_addr=inet_addr(target);
   //--------------------------------------------  
   length=sizeof(struct sockaddr_in);
   if(connect(Sconnect,(const struct sockaddr*)&client,length)==SOCKET_ERROR)
   {
      printf("Connect to Destination Failure...\n");
      closesocket(Sconnect);
      exit(0);
   }
   length=recv(Sconnect,buffer,strlen(buffer),0);
   buffer[length]=&#39;\0&#39;;
   printf("%s\n",buffer);
   
   getchar();
   closesocket(Sconnect);
   WSACleanup();
}
//End Of SocketConnetct Function  

//Usage Function Definiation
//--------------------------------------------------------------
//Provide help For user
//Parameters:  string
//--------------------------------------------------------------
void usage(char *help)
{
   printf("The Client Of C/s Mode By netxfly 04/30/2005\n");
   printf("usage:\n");
   printf("%s <RemoteHost> <port>\n",help);
   return ;

}

附件

csmode.rar (11 KB)

2005-4-30 04:50, 下载次数: 16

TOP

  程序中为什么要加入没用的头文件 "string.h" ?
我用青春赌明天

TOP

代码改了一次,第一次有字符操作函数,后来改的没有了,头文件没有改。呵呵

TOP

其实这个在实际中没有什么用处,当作学习编程吧

TOP

象征性扣一分 团队标识和作者名字要加
不然被人家转载走了 都不写作者 于是版权受到侵害...
我们还维权也很辛苦 因为事先没加版权标识
qq310926是我唯一用号,除此之外有其他号码号自称邪八冰血封情,则非本人。

TOP

晕哦。
又被扣分。。


嘻嘻,以前无门无派,就没有写“团队标识和作者名字”的习惯。

以后一定注意,呵呵

TOP

主要是为了方便维权 一旦别的人侵犯版权 可以进行P斗
曾几何时,有人对我说:装B遭雷劈。我说:去你妈的。于是,这个人又对我说:如果再说脏话,上帝会惩罚你的。我说:我操上帝。结论:彪悍的人生不需要上帝。

TOP

发新话题