当前位置: 首页 > news >正文

许昌市网站建设_网站建设公司_测试上线_seo优化

阿里云无主体新增网站,烟台专业做网站的公司,制作网页时科学规划网页的做法是,深圳网络营销推广服务扫描器scanner的源代码#xff0c;应该说是比较粗糙的 .#define szSign 500 13\r\nServer: Microsoft-IIS/5.0//根据此标志来检查目标是否有漏洞 其实就是个取Banner。我那他改造了一下。有空检查一下效果如何#xff1a;#xff09; #include stdio.h应该说是比较粗糙的 .#define szSign 500 13\r\nServer: Microsoft-IIS/5.0//根据此标志来检查目标是否有漏洞 其实就是个取Banner。我那他改造了一下。有空检查一下效果如何    #include stdio.h   #include winsock2.h   #include time.h   #define iPort 80//目标Web Server端口   #define szSign abc//根据此标志来检查目标是否有漏洞   #pragma comment(lib,ws2_32.lib)   ///   //   //定义初始化全局变量   char *SendBuffget abcdefg\n,//发送的请求buff   CurrentTarget[52]{0},//存放最后一个线程将扫描的目标   turn[4][2]{-,\\,|,/};//显示进度时的字符   int SendBuffLenstrlen(SendBuff),//发送的buff长度   iConnTimeout,//TCP Connect TimeOut   ii0,//扫描进度   iTotal;//服务器总数   HANDLE hSemaphoreNULL,//信标内核对象句柄用来控制线程数量   hStdout;//console标准输出句柄做进度显示的时候用的   struct timeval timeout;//连接、发送和接收的超时值   DWORD SleepTime;//每个一个线程后等待的时间   /*   SleepTime值根据用户输入的线程数量[ThreadNum]和TCP ConnectTimeOut[CONNTIMEO]来计算。确保在CONNTIMEO时间左右开ThreadNum个线程。这样在CONNTIMEO时间后所开的线程开始陆续超时退出可以继续稳定的开线程可以有效的保证同时有ThreadNum个线程在运行。  */   ///   void ShowError(char *);//显示出错信息函数  BOOL ResetCursor(void);//重置光标位置线程输出的时候调用的   DWORD WINAPI ShowProInfo(LPVOID);//显示进度信息   DWORD WINAPI scan(LPVOID);//扫描函数   void usage(char *);//帮助函数   ///   int main(int argc,char **argv)   {   HANDLE hThreadNULL;//线程句柄   DWORD dwThreadID;//线程ID   struct sockaddr_in sa;   int i,   MaxThread;//最大线程数量   WSADATA wsd;   long PreviousCount;   clock_t start,end;//程序运行的起始和结束时间   double duration;   //检查用户输入参数   if(argc!5)   {   usage(argv[0]);   return 1;   }   //get target range   int StartNetinet_addr(argv[1]);   int StopNetinet_addr(argv[2]);   int StartHostntohl(StartNet);   int StopHostntohl(StopNet);   //取得线程数量   MaxThreadatoi(argv[3]);   //取得conn超时时间   iConnTimeoutatoi(argv[4]);   //检查参数合法性   if((iConnTimeout6) || (iConnTimeout2) || (MaxThread1) || (MaxThread500) || (StopHostStartHost))   {   usage(argv[0]);   return 1;   }   //计算时间   SleepTime1000*iConnTimeout/MaxThread;   //设置连接超时值   timeout.tv_sec  iConnTimeout;   timeout.tv_usec 0;   __try   {   //开始计时   startclock();   //加载winsock库   if (WSAStartup(MAKEWORD(1,1), wsd) ! 0)   {   ShowError(WSAStartup);   __leave;   }   //创建信标内核对象句柄   hSemaphoreCreateSemaphore(NULL,MaxThread,MaxThread,NULL);   if(hSemaphoreNULL)   {   ShowError(CreateSemaphore);   __leave;   }   //取得console标准输出句柄   hStdoutGetStdHandle(STD_OUTPUT_HANDLE);   if(hStdoutINVALID_HANDLE_VALUE)   {   ShowError(GetStdHandle);   __leave;   }   //设置目标总数   iTotalStopHost-StartHost;   //创建进度显示线程   hThreadCreateThread(NULL,0,ShowProInfo,NULL,0,dwThreadID);   if(hThreadNULL)   {   ShowError(1 CreateThread);   __leave;   }   //关闭句柄   CloseHandle(hThread);   //循环创建扫描线程   for(iStartHost;iStopHost;i)   {   //等待信标内核对象通知   WaitForSingleObject(hSemaphore,INFINITE);   //create thread to scan   hThreadCreateThread(NULL,0,scan,(LPVOID)i,0,dwThreadID);   if(hThreadNULL)   {   ShowError(2 CreateThread);   break;   }   //进度自加1   ii;   //重设最后一个线程扫描的目标   sa.sin_addr.s_addrhtonl(i);   strncpy(CurrentTarget,inet_ntoa(sa.sin_addr),sizeof(CurrentTarget));   //休息一会儿 )   Sleep(SleepTime);   //关闭线程句柄   CloseHandle(hThread);   }   //等待所有线程结束   while(1)   {   WaitForSingleObject(hSemaphore,INFINITE);   if(!ReleaseSemaphore(hSemaphore,1,PreviousCount))   {   ShowError(main() ReleaseSemaphore);   Sleep(5000);   break;   }   if(PreviousCount(MaxThread-1))   {   printf(\nAll done.);   break;   }   Sleep(500);   }   }//end of try   //搞定清场收工   __finally   {   //计时结束   endclock();   //转换时间格式   duration  (double)(end - start) / CLOCKS_PER_SEC;   //显示所用时间   printf(\n\nComplete.Scan %d targets use %2.1f seconds.Speed %0.3g/s\n,iTotal,duration,iTotal/duration);   //关闭句柄   CloseHandle(hStdout);   CloseHandle(hSemaphore);   WSACleanup();   }   return 0;   }   ///   //   //回显错误信息函数   //   void ShowError(char *msg)   {   MessageBox(NULL,msg,ERROR,0);   //printf(\n%s failed:%d,GetLastError());   }   //   //   //重置光标位置函数以便扫描线程输出结果   //   BOOL ResetCursor()   {   CONSOLE_SCREEN_BUFFER_INFO ConsoleScreenBufferInfo;   //取得当前光标位置   if(!GetConsoleScreenBufferInfo(hStdout,ConsoleScreenBufferInfo))   {   ShowError(GetConsoleScreenBufferInfo);   return FALSE;   }   //设置光标X坐标为0   ConsoleScreenBufferInfo.dwCursorPosition.X0;   //设置当前光标位置   SetConsoleCursorPosition(hStdout,ConsoleScreenBufferInfo.dwCursorPosition);   return TRUE;   }   ///   //   //显示进度信息函数   //   DWORD WINAPI ShowProInfo(LPVOID lp)   {   int j,k;   CONSOLE_SCREEN_BUFFER_INFO ConsoleScreenBufferInfo;   float m;   for(j0;iiiTotal;j)   {   //休息一会儿 ))   Sleep(SleepTime);   //取得当前光标位置   if(!GetConsoleScreenBufferInfo(hStdout,ConsoleScreenBufferInfo))   {   ShowError(GetConsoleScreenBufferInfo);   return 1;   }   //设置百分比进度显示的X坐标   ConsoleScreenBufferInfo.dwCursorPosition.X0;   //设置当前光标位置   SetConsoleCursorPosition(hStdout,ConsoleScreenBufferInfo.dwCursorPosition);   //已经完成的百分比   m(ii1)*100.00/iTotal;   //显示进度   if(iiiTotal)   {   printf(******** 100%% Wait %d seconds to exit ******** \n,iConnTimeout);   break;   }   else   {   kj%4;   printf(%-15s %s [%d/%d] %s %%%0.3g,CurrentTarget,turn[k],ii,iTotal,turn[k],m);   }   }//end of for   return 0;   }   ///   //   //扫描函数   //   DWORD WINAPI scan(LPVOID lp)   {   int i(int)lp,iErr;   struct sockaddr_in server;   SOCKET sINVALID_SOCKET;   char RecvBuff[1024]{0},*ptr;   int RecvBuffLensizeof(RecvBuff);   u_long ul1;//初始化为为非0值   fd_set r,w;   //create socket   ssocket(AF_INET, SOCK_STREAM, IPPROTO_TCP);   if(sINVALID_SOCKET)   {   printf(\nCreate socket failed:%d,GetLastError());   ExitProcess(1);   }   //fill the addr struct   server.sin_familyAF_INET;   server.sin_porthtons(iPort);   server.sin_addr.S_un.S_addrhtonl(i);   __try   {   //设置socket为非锁定模式,ul为0值的话那么soocket将被设置为锁定模式   iErrioctlsocket(s,FIONBIO,(unsigned long*)ul);   if(iErrSOCKET_ERROR )   {   ResetCursor();   ShowError(ioctlsocket);   ExitProcess(1);   }   //printf(\n%X ioctl ok.strat conn,i);   //connect to target   connect(s,(struct sockaddr *)server,sizeof(server));   //printf(\n%X conn return,start select w,i);   //设置select参数   FD_ZERO(w);   FD_SET(s, w);   //等待connect成功socket可写   iErrselect(0, 0, w, 0, timeout);   //printf(\n%X select w return %d,i,iErr);   //等待返回后socket仍不可写则退出   if((iErrSOCKET_ERROR) || (iErr0))   {   //printf(\n%X select return w err,exit,i);   __leave;   }   //socket可写则继续   else   {   //send buff to target   //printf(\n%X send,i);   iErrsend(s,SendBuff,SendBuffLen,0);   //printf(\n%X send return,i);   if(iErrSOCKET_ERROR)   __leave;   }   //等待socket可读   FD_ZERO(r);   FD_SET(s, r);   //printf(\n%X start select r,i);   iErrselect(0, r, 0, 0, timeout);   //printf(\n%X select r return %d,i,iErr);   if((iErrSOCKET_ERROR) || (iErr0))   {   //printf(\n%X select r err,exit,i);   __leave;   }   else   {   //recv buff from target   //printf(\n%X start recv,i);   iErrrecv(s,RecvBuff,RecvBuffLen,0);   //printf(\n%X recv ret,i);   if(iErrSOCKET_ERROR)   __leave;   }   //verify buff   ptrstrstr(RecvBuff,szSign);   if(ptr!NULL)   {   //线程输出前要先调用ResetCursor函数   ResetCursor();   //输出信息后务必加一个以上换行符号输出前请别加换行符号以免显示混乱   printf([%-15s] has .printer mapped.\n,inet_ntoa(server.sin_addr));   }   }   __finally   {   if(!ReleaseSemaphore(hSemaphore,1,NULL))   ShowError(thread ReleaseSemaphore failed);   closesocket(s);   }   return 0;   }   ///   void usage(char *proname)   {   printf(\n%s v0.1 only can find IIS5 .Printer mapped   \nPower by ey4sey4s21cn.com 2001.5.20   \nhttp://www.patching.net   \n\nUsage:%s StartIP EndIP ThreadNum CONNTIMEO   \n\nNotice   \nStartIP StopIP Dont forgot StopIP must large than StartIP    \nThreadNum Thread number,please input between 1-500   \nCONNTIMEO TCP connect timeout,please input between 2-6   \n\nExample   \n%s 192.168.0.0 192.168.255.255 200 2,proname,proname,proname);   }         转载于:https://blog.51cto.com/linkboy/300409
http://www.ihoyoo.com/news/49712.html

相关文章:

  • 什么是商业网站肥西县城乡建设局网站
  • 网站 邮箱功能 设置网站推广途径方法
  • 资溪做面包招聘的网站闸北网站优化公司
  • 邯郸手机网站建设南京网站定制南京
  • 建设工程协会网站西地那非多少钱一盒
  • 自己怎么做彩票网站郑州制作网站ihanshi
  • 郴州市建设局网站节能科黄骅市网站建设公司
  • 建设项目备案网站开网站做代销好
  • 太原营销网站建设制作平台网站定制电话
  • 做网站卖什么青岛建站模板厂家
  • 网站开发的流行架构学网页设计怎么样
  • 铜陵港航投资建设集团网站seo关键词排名优化专业公司
  • wordpress 建视频网站吗免费做网站的好不好
  • .net asp可以外链其它网站吗阿里巴巴国际网站官网入口
  • 自助建站的一般流程做网站一年百万
  • 焦作网站seo网店设计是做什么的
  • 门户网站架构建设h5网站
  • 深圳 购物网站wordpress 去除邮箱
  • 建筑网络工程教程深圳企业股权优化
  • 深圳互助资金盘网站开发网站基本建设
  • 北京网站维护公司装饰工程公司排名
  • 网站开发风险oa信息管理系统
  • 三维立体网站建设乐清问政网络平台
  • 深圳p2p网站开发母婴网站建设前期规划
  • 买外贸衣服的网站快速制作网站的方法
  • 英迈思网站建设奔驰宝马游戏网站建设
  • 阿里云淘宝客网站建设教程网络公司做的网站
  • 网站建设意见建议wordpress停用谷歌字体
  • 做pc端网站包括哪些私人网盘服务器
  • 然后建设自营网站wordpress ftp用户名