tcp端口扫描及tcp服务器搭建
#ifdef Demain
printf(" Server IP=%s Port=%d\n",ServerIP,SPort); #endif */
TCPClientScan();//执行TCP客户端&扫描程序 }
#define EndStr "ENDSERVER" /** 服务器秘密端口的停机密码**/ #define SendMaxNo 3 /**最大发送次数**/
int TCPClientScan() {
#ifdef _WIN32 WSADATA wsaData; //启用SOCKET的DLL库 #endif
int SPort; /** 端口的定义 **/ int count=1; /** 随机扫描的起始 **/ int countend=30; /** 随机扫描的结束 **/ int kk=0; /** 通信条件的定义 **/ int SNo=0; /**发送信息的次数 **/ int SockFd; /** socket 句柄 **/ int SockLen; /** socket 结构长度 **/ int iSend; /** 发送信息长度 **/ int iRecv; /** 接收信息长度 **/ #define BufLen 1024
char sendinfo[BufLen];/** 发送的信息或秘密值 **/ char SBuf[BufLen]; /** 发送缓冲区 **/ char RBuf[BufLen]; /** 接收缓冲区 **/ int SendLen; /** 发送数据长度 **/ char C='O';
struct sockaddr_in ser;//套接字结构体的定义 struct servent *open_sport;
/*----------------------随机端口的生成-----------------------*/ int x; int i,j;
int num[30];//声明数组
srand( (unsigned)time(NULL) ); for(i=0;i<30;i++) {leap: x=rand()%100%30; for(j=0;j<i;j++) { if(x==num[j]) goto leap; } num[i]=x;