VS2012 抓包代码

// capture.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "iostream"#inclu
// capture.cpp : 定义控制台应用程序的入口点。
//#include "stdafx.h"
#include "iostream"
#include "winsock2.h"
#include "mstcpip.h"
#pragma comment(lib,"WS2_32")
using namespace std;
void DecodeIPPacket(char * pData);
void DecodeTCPPacket(char * pData);
void DecodeUDPPacket(char * pData);
void DecodeICMPPacket(char * pData);
/*IP分组首部结构*/
typedef struct _IPHeader
{unsigned char iphVerLen;unsigned char ipTOS;unsigned short ipLength;unsigned short ipID;unsigned short ipFlags;unsigned char ipTTL;unsigned char ipProtocol;unsigned short ipChecksum;unsigned long ipSource;unsigned long ipDestination;
}IPHeader, * PIPHeader;
/*ICMP包头结构*/
typedef struct icmphdr
{char i_type;char i_code;unsigned short i_cksum;unsigned short i_id;unsigned short i_seq;unsigned long timestamp;
}ICMPHeader;
/*UDP包头结构*/
typedef struct _UDPHeader
{
unsigned short sourcePort;
unsigned short destinationPort;
unsigned short len;
unsigned s