标题:
扫描器C源代码+注释
[打印本页]
作者:
abmark
时间:
2005-3-22 18:57
标题:
扫描器C源代码+注释
#include
#include
#include
#define iPort 80//目标Web Server端口 .#define szSign "500 13\r\nServer: Microsoft-IIS/5.0"//根据此标志来检查目标是否有漏洞 #pragma comment(lib,"ws2_32.lib") /////////////////////////////////////////////////////////////////////////// // //定义&初始化全局变量 char *SendBuff="GET /NULL.printer\n",//发送的请求buff CurrentTarget[52]={0},//存放最后一个线程将扫描的目标 turn[4][2]={"-","\\","|","/"};//显示进度时的字符 int SendBuffLen=strlen(SendBuff),//发送的buff长度 iConnTimeout,//TCP Connect TimeOut ii=0,//扫描进度 iTotal;//服务器总数 HANDLE hSemaphore=NULL,//信标内核对象句柄,用来控制线程数量 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 hThread=NULL;//线程句柄 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 StartNet=inet_addr(argv[1]); int StopNet=inet_addr(argv[2]); int StartHost=ntohl(StartNet); int StopHost=ntohl(StopNet); //取得线程数量 MaxThread=atoi(argv[3]); //取得conn超时时间 iConnTimeout=atoi(argv[4]); //检查参数合法性 if((iConnTimeout>6) || (iConnTimeout<2) || (MaxThread<1) || (MaxThread>500) || (StopHost
2001.5.20" "\nhttp://www.patching.net" "\n\nUsage:%s
" "\n\nNotice" "\n StartIP StopIP ==>Don‘t forgot StopIP must large than StartIP " "\n ThreadNum ==>Thread number,please input between 1-500" "\n CONNTIMEO ==>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); }
作者:
千與千尋
时间:
2005-3-22 19:07
标题:
扫描器C源代码+注释
oh~ This code is very good~~
值得学习一下~~
作者:
x86
时间:
2005-3-22 19:44
标题:
扫描器C源代码+注释
收藏并学习!!!!
编译器是???
欢迎光临 黑色海岸线论坛 (http://bbs.thysea.com/)
Powered by Discuz! 7.2