亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? scanhost.cpp

?? scanhost發(fā)現(xiàn)網(wǎng)絡(luò)中的活動(dòng)主機(jī) 輸入起始和終止IP
?? CPP
字號(hào):
#pragma pack(4)
#pragma comment(lib,"WS2_32.LIB")
#define WIN32_LEAN_AND_MEAN
#include<winsock2.h>
#include<stdio.h>
#include<winsock.h>
#include<iostream.h>
#include<sys/timeb.h>
#include<time.h>
#include<winbase.h>
//頭文件

typedef struct iphdr{                  //IP頭
	unsigned int headlen:4;            //IP頭長(zhǎng)度
	unsigned int version:4;            //IP版本號(hào)
	unsigned char tos;                 //服務(wù)類(lèi)型
	unsigned short id;                 //ID號(hào)
	unsigned short flag;               //標(biāo)記
	unsigned char ttl;                 //生存時(shí)間
	unsigned char prot;                //協(xié)議
	unsigned short checksum;           //效驗(yàn)和
	unsigned int sourceIP;             //源IP
	unsigned int destIP;               //目的IP
}IpHeader;
//IP頭部

typedef struct icmphdr{                //ICMP頭
	BYTE type;                         //ICMP類(lèi)型碼
	BYTE code;                         //子類(lèi)型碼
	USHORT checksum;                   //效驗(yàn)和
    USHORT id;                         //ID號(hào)
	USHORT seq;                        //ICMP數(shù)據(jù)報(bào)的序列號(hào)
}IcmpHeader;
//ICMP包頭部

#define ICMP_ECHO 8                    //請(qǐng)求回送
#define ICMP_ECHO_REPLY 0              //請(qǐng)求回應(yīng)
#define ICMP_MIN 8                     //ICMP包頭長(zhǎng)度(最小ICMP包長(zhǎng)度)
#define STATUS_FAILED 0xFFFF           //錯(cuò)誤碼
#define DEF_PACKET_SIZE 32             //缺省數(shù)據(jù)塊長(zhǎng)度
#define MAX_PACKET 1024                //最大數(shù)據(jù)塊長(zhǎng)度
#define MAX_PING_PACKET_SIZE (MAX_PACKET+sizeof(IpHeader))
//最大接收數(shù)據(jù)包長(zhǎng)度

void fill_icmp_data(char *,int);
USHORT checksum(USHORT *,int);
void decode_resp(char *,int,struct sockaddr_in *);
DWORD WINAPI FindIP(LPVOID pIPAddrTemp);
//函數(shù)的申明

WSADATA wsaData;
SOCKET sockRaw;             //原始套接字
struct sockaddr_in dest,from,end;
//dest:搜索目的IP,
//from:接收ICMP包的源IP
//end:搜索終止IP。

int fromlen=sizeof(from);                      //接收ICMP包長(zhǎng)度
char *recvbuf=new char[MAX_PING_PACKET_SIZE];  //接受ICMP包緩沖區(qū)
unsigned int addr=0;                           //IP地址
long ThreadNumCounter=0,ThreadNumLimit=20;     //線程數(shù)及最大允許線程數(shù)
long *aa=&ThreadNumCounter;
//全局變量的申明

void main(int argc,char *argv[])
{
	if(argc!=3)                               //判斷格式是否正確
	{
		cout<<"輸入格式錯(cuò)誤:scanhost start_ip end_ip"<<endl;
		return;
	}
	if(WSAStartup(MAKEWORD(2,1),&wsaData)!=0)
	{
		cout<<"WSAStartup failed:"<<GetLastError()<<endl;
		ExitProcess(STATUS_FAILED);
	}
//創(chuàng)建原始套接字
	sockRaw=WSASocket(AF_INET,SOCK_RAW,IPPROTO_ICMP,NULL,0,WSA_FLAG_OVERLAPPED);
	if (sockRaw==INVALID_SOCKET)
	{
		cout<<"WSASocket() failed:"<<WSAGetLastError()<<endl;
		ExitProcess(STATUS_FAILED);
	}
	int timeout=1000;
	int bread=setsockopt(sockRaw,SOL_SOCKET,SO_RCVTIMEO,(char*)&timeout,sizeof(timeout));
	if(bread==SOCKET_ERROR)
	{
		cout<<"failed to set recv timeou:"<<WSAGetLastError()<<endl;
		ExitProcess(STATUS_FAILED);
	}
	timeout=1000;
	bread=setsockopt(sockRaw,SOL_SOCKET,SO_SNDTIMEO,(char*)&timeout,sizeof(timeout));
	if(bread==SOCKET_ERROR)
	{
		cout<<"failed to set send timeout:"<<WSAGetLastError()<<endl;
		ExitProcess(STATUS_FAILED);
	}
	memset(&dest,0,sizeof(dest)); //初始化dest結(jié)構(gòu)
	unsigned long startIP,endIP;  
	dest.sin_family=AF_INET;
	dest.sin_addr.s_addr=inet_addr(argv[1]);  //填入開(kāi)始搜索IP
	startIP=inet_addr(argv[1]);
	end.sin_family=AF_INET;
	end.sin_addr.s_addr=inet_addr(argv[2]);
	endIP=inet_addr(argv[2]);    //填入結(jié)束搜索IP地址
	HANDLE hThread;
	while(htonl(startIP)<=htonl(endIP))   //起始IP比結(jié)束IP小
	{
		if(ThreadNumCounter>ThreadNumLimit) //判斷線程數(shù)目,如果太多,休眠
		{
			Sleep(5000);
			continue;
		}
		DWORD ThreadID;
		sockaddr_in * pIPAddrTemp=new(sockaddr_in);
		if(!pIPAddrTemp)
		{
			cout<<"memory alloc failed"<<endl;
			return;
		}
		*pIPAddrTemp=dest;
		clock_t start;
		start=clock();
		hThread=CreateThread(NULL,NULL,FindIP,(LPVOID)pIPAddrTemp,NULL,&ThreadID);
		long i=60000000L;
		while(i--);
		TerminateThread(hThread,0);
		InterlockedDecrement(aa);
		memset(&from,0,sizeof(from));
		startIP=htonl(htonl(startIP)+1);
		dest.sin_addr.s_addr=startIP;
	}
	while(ThreadNumCounter!=0)
	{
		Sleep(2000);
		return;
	}
}

void fill_icmp_data(char *icmp_data,int datasize)
{
	IcmpHeader *icmp_hdr;
	char *datapart;
	icmp_hdr=(IcmpHeader*)icmp_data;
	icmp_hdr->type=ICMP_ECHO;//設(shè)置類(lèi)型信息
	icmp_hdr->id=(USHORT)GetCurrentThreadId();//設(shè)置其ID號(hào)為當(dāng)前線程ID號(hào)
	datapart=icmp_data+sizeof(IcmpHeader);//計(jì)算ICMP數(shù)據(jù)報(bào)的數(shù)據(jù)部分
	memset(datapart,'A',datasize-sizeof(IcmpHeader));//填入數(shù)據(jù)
}
//ICMP數(shù)據(jù)包的填充

void decode_resp(char *buf,int bytes,struct sockaddr_in *from)
{
	IpHeader *iphdr;
	IcmpHeader *icmphdr;
	unsigned short iphdrlen;
	iphdr=(IpHeader *)buf;
	iphdrlen=iphdr->headlen*4;
	icmphdr=(IcmpHeader *)(buf+iphdrlen);

	if(bytes<iphdrlen+ICMP_MIN)return;
	if(icmphdr->type!=ICMP_ECHO_REPLY)return;
	if(icmphdr->id!=(USHORT)GetCurrentThreadId())return;
	cout<<"活動(dòng)主機(jī):"<<inet_ntoa(from->sin_addr)<<endl;
}
//返回包的解析,以及輸出

USHORT checksum(USHORT *buffer,int size)
{
	unsigned long cksum=0;
	while(size>1)
	{
		cksum+=*buffer++;
		size-=sizeof(USHORT);
	}
	if(size)
	{
		cksum+=*(UCHAR*)buffer;
	}
	cksum=(cksum>>16)+(cksum & 0xffff);
	cksum+=(cksum>>16);
	return (USHORT)(~cksum);
}
//效驗(yàn)和的計(jì)算

DWORD WINAPI FindIP(LPVOID pIPAddrTemp)
{
	InterlockedIncrement(aa);//線程數(shù)目+1
	char icmp_data[MAX_PACKET];
	memset(icmp_data,0,MAX_PACKET);//數(shù)據(jù)報(bào)初始化
	int datasize=DEF_PACKET_SIZE;//數(shù)據(jù)報(bào)報(bào)文的缺省長(zhǎng)度
	datasize+=sizeof(IcmpHeader);//加上icmp頭部長(zhǎng)度
	fill_icmp_data(icmp_data,datasize);//填充包
	((IcmpHeader*)icmp_data)->checksum=0;//效驗(yàn)和置零
	((IcmpHeader*)icmp_data)->seq=0;//序列號(hào)置零
	((IcmpHeader*)icmp_data)->checksum=checksum((USHORT*)icmp_data,datasize);
	//計(jì)算效驗(yàn)和后填人
	int bwrote=sendto(sockRaw,icmp_data,datasize,0,(struct sockaddr*)pIPAddrTemp,sizeof(dest));
	//發(fā)送數(shù)據(jù)報(bào)
	int n=0;
	if(bwrote==SOCKET_ERROR)
	{
		if(WSAGetLastError()==WSAETIMEDOUT)
		{
			cout<<"timed out"<<endl;
		}
		cout<<"sendto failed:"<<WSAGetLastError()<<endl;
		ExitProcess(STATUS_FAILED);
		n=1;
	}
	if (WSAGetLastError()==WSAETIMEDOUT)
	{
		cout<<"timed out"<<endl;
		ExitProcess(STATUS_FAILED);
		n=1;
	}
	if(bwrote<datasize)
	{
		cout<<"Wrote"<<bwrote<<"bytes"<<endl;
		ExitProcess(STATUS_FAILED);
		n=1;
	}
	int bread=recvfrom(sockRaw,recvbuf,MAX_PING_PACKET_SIZE,0,(struct sockaddr*)&from,&fromlen);
	//數(shù)據(jù)包的接收
	if(bread==SOCKET_ERROR)
	{
		if (WSAGetLastError()==WSAETIMEDOUT)
		{
			cout<<"timed out"<<endl;
		}
		cout<<"recvfrom failed:"<<WSAGetLastError()<<endl;
		ExitProcess(STATUS_FAILED);
		n=1;
	}
	if(n==0)
		decode_resp(recvbuf,bread,&from);
	InterlockedDecrement(aa);
	return 0;
}
//子線程的編寫(xiě)

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女视频网站黄色亚洲| 一区二区视频在线| 亚洲欧洲国产日韩| 欧美日韩国产中文| 国产精品中文字幕欧美| 精久久久久久久久久久| 国产做a爰片久久毛片| 亚洲一区二区精品视频| 一区视频在线播放| 亚洲欧美日韩中文播放| 日本不卡一区二区三区| 99久久精品国产精品久久 | 亚洲图片欧美色图| 国产一区二区在线看| 在线免费观看不卡av| 久久久噜噜噜久久人人看 | 国产黄色91视频| 国产成人av电影| 欧美日韩国产精选| 日韩一级视频免费观看在线| 日韩欧美中文字幕制服| 国产日产欧美一区二区视频| 一区二区三区在线高清| 日韩av电影免费观看高清完整版| 国产在线日韩欧美| 日本精品一区二区三区四区的功能| 欧美写真视频网站| 国产精品午夜久久| 日韩黄色免费电影| 成人午夜免费电影| 欧美一级专区免费大片| 中文字幕一区二区在线播放| 中文字幕中文在线不卡住| 亚洲一区二区在线免费看| 另类小说欧美激情| 91美女精品福利| 日韩欧美成人一区| 午夜精彩视频在线观看不卡| 成人激情综合网站| 久久亚洲影视婷婷| 免费人成精品欧美精品| 欧美一卡二卡在线观看| 亚洲成人一区在线| 成人av在线一区二区| 欧美韩日一区二区三区| 成人免费毛片嘿嘿连载视频| 欧美国产综合一区二区| 国产精品91一区二区| 亚洲国产精品黑人久久久| 国产91露脸合集magnet| 精品日本一线二线三线不卡| 亚洲图片你懂的| 国产黄色成人av| 亚洲欧洲日韩女同| 91一区二区在线| 一区二区国产盗摄色噜噜| 一本一道波多野结衣一区二区 | 国产亚洲一区二区三区在线观看 | 日韩理论片一区二区| 丁香一区二区三区| 亚洲精品中文字幕乱码三区| 色婷婷av久久久久久久| 日本中文一区二区三区| 中文字幕精品在线不卡| 99在线精品免费| 亚洲成人手机在线| 国产亚洲精品超碰| 精品视频在线看| 国产成人免费网站| 亚洲国产精品久久人人爱| 国产亚洲精品资源在线26u| 色婷婷综合久久久中文一区二区 | 美女精品自拍一二三四| 精品国产乱码久久久久久浪潮| 蜜臀91精品一区二区三区| 亚洲一区二区三区三| 欧美日韩欧美一区二区| 三级亚洲高清视频| 欧美一级国产精品| 亚洲日本成人在线观看| 不卡视频在线看| 亚洲日本在线看| 粉嫩13p一区二区三区| 日本女人一区二区三区| 91高清视频在线| 亚洲美女偷拍久久| 91视频免费播放| 91精品国产欧美一区二区18| 中文字幕亚洲成人| 一区二区三区欧美日韩| 久久蜜桃一区二区| 国产成人无遮挡在线视频| 精品国产三级a在线观看| 美女尤物国产一区| 亚洲精品美腿丝袜| 884aa四虎影成人精品一区| 国产精品美女久久久久久久| 色综合婷婷久久| 国产综合色精品一区二区三区| 国产精品久久久久久久久久久免费看 | 日韩网站在线看片你懂的| av资源网一区| 欧美性受xxxx| 日本久久电影网| 精品视频一区三区九区| 在线观看国产日韩| 欧美伊人精品成人久久综合97 | 欧美色综合影院| 欧美性猛交xxxxxx富婆| 久久精品国产久精国产| 日本亚洲电影天堂| 久久99精品国产麻豆不卡| 日韩中文字幕一区二区三区| 欧美在线观看你懂的| 亚洲久草在线视频| 午夜精品久久久久久| 日韩电影在线一区二区三区| 蜜桃av噜噜一区二区三区小说| 国产乱国产乱300精品| 91丨九色丨黑人外教| 亚洲1区2区3区视频| 欧美一区二区三区四区高清| 欧美aaaaa成人免费观看视频| 欧美群妇大交群的观看方式| 国产清纯美女被跳蛋高潮一区二区久久w | 免费观看在线综合| 视频在线观看91| 国产ts人妖一区二区| 在线一区二区三区四区五区 | 亚洲高清三级视频| 成人在线综合网| 欧美xxx久久| 亚洲情趣在线观看| 国产精品中文字幕一区二区三区| 精品国产区一区| 色中色一区二区| 日本视频免费一区| 久久久久久久国产精品影院| 亚洲人成亚洲人成在线观看图片| 国产一本一道久久香蕉| 欧美成人激情免费网| 久久精品二区亚洲w码| 日本黄色一区二区| 亚洲主播在线播放| 欧美性猛交一区二区三区精品| 亚洲午夜免费视频| 91精品国产91久久久久久最新毛片| 美女视频黄免费的久久| 久久久另类综合| 一本大道久久精品懂色aⅴ| 久久久.com| 欧美日韩在线亚洲一区蜜芽| 亚洲另类在线制服丝袜| 91麻豆.com| 中文在线一区二区| 国产精品99久久久久久久女警| 国产精品无圣光一区二区| 成人福利电影精品一区二区在线观看| 国产精品免费网站在线观看| 日本韩国欧美一区| 亚洲sss视频在线视频| 一本一道综合狠狠老| 精品一区二区三区不卡| 亚洲视频一区在线观看| 精品91自产拍在线观看一区| 一本到一区二区三区| 狠狠色丁香婷婷综合久久片| 一区二区不卡在线视频 午夜欧美不卡在 | 欧美视频日韩视频在线观看| 国产主播一区二区| 亚洲国产精品久久艾草纯爱| 日本一区二区免费在线观看视频 | 国产乱码精品1区2区3区| 亚洲h动漫在线| 亚洲精品第一国产综合野| 国产欧美视频在线观看| 日韩欧美黄色影院| 欧美手机在线视频| 欧美性感一类影片在线播放| 丰满放荡岳乱妇91ww| www.亚洲在线| 日产欧产美韩系列久久99| 亚洲精品v日韩精品| 亚洲精品视频一区二区| 一区二区三区日韩精品视频| 夜夜嗨av一区二区三区网页| 国产精品乱人伦| 亚洲欧美成aⅴ人在线观看| 亚洲欧美一区二区不卡| 亚洲乱码中文字幕| 日韩综合小视频| 精品一区二区三区在线播放 | 精品电影一区二区| 亚洲国产成人一区二区三区| 亚洲精品一二三区| 国产成人小视频| 欧美日韩国产一级片| 国产精品丝袜91| 精品一区二区国语对白| 91在线一区二区三区|