资源简介
编写程序,监控本地网络,捕获一段时间内以本机为源地址或目的地址的IP数据包(不包括以广播形式发出的数据包),统计IP数据包的信息,列出本机与其他主机之间不同协议类型IP数据包的流量。
代码片段和文件信息
#include
#include
#include
#include
#include
#pragma comment(lib“ws2_32“) //指定连接到网络应用和internet
#define IO_RCVALL _WSAIOW(IOC_VENDOR1)
typedef struct IP_HEAD
{
union //定义联合
{
unsigned char Version;
unsigned char HeadLen;
};
unsigned char ServiceType;
unsigned short TotalLen;
unsigned short Identifier;
union
{
unsigned short Flags;
unsigned short FragOffset;
};
unsigned char TimeToLive;
unsigned char Protocol;
unsigned short HeadChecksum;
unsigned int SourceAddr;
unsigned int DestinAddr;
unsigned char Options;
}ip_head; //定义IP头部的数据结构
void main(int argcchar *argv[])
{
using namespace std;
ofstream outfile(“C:\\logfile.txt“ios::out);
/*if(argc!=2)
{
cout< return;
} */
WSADATA WSAData;
if(WSAStartup(MAKEWORD(22) &WSAData)!=0)
{
cout< return;
}
SOCKET sock=socket(AF_INETSOCK_RAWIPPROTO_IP); //三个参分别为通信发生的区字段,套接字的类型,与IP协议
if(sock==INVALID_SOCKET)
{
cout< closesocket(sock);
WSACleanup();
}
BOOL flag=TRUE;
if(setsockopt(sockIPPROTO_IPIP_HDRINCL(char *) &flagsizeof(flag))==SOCKET_ERROR)
{
cout< closesocket(sock);
WSACleanup();
}
char hostName[128];//获取主机名
if(gethostname(hostName100)==SOCKET_ERROR)
{
cout< closesocket(sock);
WSACleanup();
}
hostent *pHostIP; //获取本地IP
if((pHostIP=gethostbyname(hostName))==NULL)
{
cout< closesocket(sock);
WSACleanup();
}
sockaddr_in host_addr;//
host_addr.sin_family=AF_INET;
host_addr.sin_port=htons(6000);
host_addr.sin_addr=*(in_addr *)pHostIP->h_addr_list[0];
if(bind(sock(PSOCKADDR)&host_addrsizeof(host_addr))==SOCKET_ERROR)
{
cout< closesocket(sock); //绑定网卡
WSACleanup();
}
DWORD dwBufferLen[10];
DWORD dwBufferInLen=1;
DWORD dwBytesReturned=0;
if(WSAIoctl(sock IO_R - 上一篇:图像处理连通域算法 c++ vc 6.0
- 下一篇:MFC图像处理荧光检测算法代码
相关资源
- c语言看发的网络协议 ,源代码
- Quectel_EC200xEG912YEC600NEC600S系列_TCP(I
- GD32F103 在线串口Ymodem协议升级IAP
- Modbus协议原文-开必者实用资料
- STM32连接EC20使用内置MQTT协议接入阿里
- C语言嵌入式Modbus协议栈,支持主站和
- olsr协议代码
- TCP/IP客户端和服务器端源代码,好用
- modbus tcp/ip 简单通讯
- TCP/IP与串口调试
- diy写字机grbl v1.1源代码
- 蓝桥杯题库包括vip历届真题
- XUnZip Zip解压缩.rar
- C++ Primer by Stanley B. Lippman Josée La
- MQTT协议
- 微机接口----HQFC集成开发环境.zip
- 仿射密码-Affine cipher
- 基于51单片机射频RFID卡考勤上课上班
- 五子棋C++(Qt版).zip
- dsp课程设计——语音加密.zip
- AES-128-CBC算法C语言源码已经修改,可
- [BUPT]面向对象程序设计C++ - 平时作业
- Bmp图像处理.zip
- C++实现的蓝牙应用程序框架-BlueSolei
- 扫雷辅助程序.zip
- VC++写的SMTP协议发附件超酷啊直接可以
- NOIP2018普及组C++试题答案
- C++ Primer中文第五版.zip
- C++实现监控IP数据包
- C++ 通过FFmpeg将rtsp视频流到本地mp4文件
川公网安备 51152502000135号
评论
共有 条评论