资源简介
使用winpcap进行ip流量包分析程序,winpcap大家懂的,流量分析大家也懂的,内含源码和说明文档。

代码片段和文件信息
/*************************
定制控制台应用程序入口点
**************************/
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include “IPNode.h“
#include “IPNodeList.h“
#include “FindActiveIP.h“
#include “IPAddr.h“
#include “IPMonitor.h“
#pragma comment(lib“ws2_32.lib“)
#pragma comment(lib “wpcap“)
//main函数
int main(int argc char* argv[])
{
pcap_if_t * alldevs; //指向所有网络设备的指针
pcap_if_t * d; //指向网卡的指针
int i=0; //记录网卡数量
pcap_t *pAdaptHandle; //打开网卡的句柄
char errbuf[PCAP_ERRBUF_SIZE]; //错误信息缓冲区
//检测命令行参数正确性
if (argc != 2)
{
cout<<“请输入正确的命令行参数: IPAnalyzer.exe duration_time“< cout<<“其中duration_time为监控时间 单位为秒,可精确到毫秒“;
exit(1);
}
double dwDuration = atof(argv[1]); //将用户输入的字符串类型的时间转换成double型数
//获取本机网络设备列表
if (pcap_findalldevs(&alldevserrbuf) == -1)
{
fprintf(stderr“获取本地机器设备列表时发生错误... %s\n“ errbuf);
exit(1);
}
//输出网络适配器设备列表
for(d= alldevs; d != NULL; d= d->next)
{
printf(“%d. %s\n“ ++i d->name);
if (d->description)
printf(“ (%s)\n“ d->description);
else
printf(“ 无法得到网卡描述 \n“);
}
if (i == 0) //适配器数量为0,输出错误信息
{
printf(“\n网络适配器没有被发现,请确认已经安装winpcap!\n“);
return 0;
}
//适配器选择
int inum=0;
printf(“%s““请输入要选择的适配器序号: “);
scanf(“%d“&inum);
//判断适配器选择合法性
if(inum < 1 || inum > i)
{
printf(“%s““所选适配器不在列表中!\n“);
pcap_freealldevs(alldevs); // 释放设备列表
return -1;
}
//找到选择的适配器
for(d=alldevs i=0; i< inum-1 ; i++)
{
d=d->next;
}
// 打开设备
if ((pAdaptHandle = pcap_open_live(d->name // 设备名称
60 // ARP包最大长度是60,节省内存资源,不设为65536!
1 // 混杂模式
100 // 读取超时时间
errbuf // 错误信息缓冲池
)) == NULL)
{
fprintf(stderr“\nWinPcap不支持设备 %s,无法打开它!\n“ d->name);
pcap_freealldevs(alldevs); // 释放设备列表
return -1;
}
//编译并设置过滤器
char* filter = “ip“; //本程序选择IP协议
bpf_program fcode; //解析过滤串规则
unsigned long netmask = 0; //子网掩码
pcap_addr_t *a = d->addresses; //适配器地址
u_long self_IP = ((struct sockaddr_in *)a->addr)->sin_addr.S_un.S_addr; //获得本机IP地址
cout< cout<<“ 活动主机IP列表:“< cout<<“ <0> “;
IpToStr(self_IP); //输出本机IP
if(d->addresses != NULL) //获得子网掩码
netmask=((struct sockaddr_in *)(a->netmask))->sin_addr.S_un.S_addr;
else // 如果接口没有地址,则假设为C类地址
netmask=0xffffff;
// 编译过滤条件
if (pcap_compile(pAdaptHandle &fcode filter 1 (unsigned long)netmask) < 0)
{
cout<<“过滤条件
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2237440 2009-11-16 23:59 程序源码\IPMonitor\Debug\IPMonitor.bsc
文件 557105 2009-11-16 23:59 程序源码\IPMonitor\Debug\IPMonitor.exe
文件 831912 2009-11-16 23:59 程序源码\IPMonitor\Debug\IPMonitor.ilk
文件 314649 2009-11-17 18:04 程序源码\IPMonitor\Debug\IPMonitor.obj
文件 7016992 2009-11-17 18:04 程序源码\IPMonitor\Debug\IPMonitor.pch
文件 1147904 2009-11-16 23:59 程序源码\IPMonitor\Debug\IPMonitor.pdb
文件 1206252 2009-11-17 18:04 程序源码\IPMonitor\Debug\IPMonitor.sbr
文件 345088 2009-11-17 18:04 程序源码\IPMonitor\Debug\vc60.idb
文件 151552 2009-11-17 18:04 程序源码\IPMonitor\Debug\vc60.pdb
文件 8351 2009-11-16 23:18 程序源码\IPMonitor\FindActiveIP.h
文件 4065 2007-09-27 10:55 程序源码\IPMonitor\Include\bittypes.h
文件 5780 2006-01-22 11:02 程序源码\IPMonitor\Include\ip6_misc.h
文件 17973 2007-11-12 18:11 程序源码\IPMonitor\Include\Packet32.h
文件 2064 2007-09-21 19:10 程序源码\IPMonitor\Include\pcap\bluetooth.h
文件 29629 2008-04-06 11:10 程序源码\IPMonitor\Include\pcap\bpf.h
文件 3510 2006-10-04 11:09 程序源码\IPMonitor\Include\pcap\namedb.h
文件 13615 2008-05-21 15:42 程序源码\IPMonitor\Include\pcap\pcap.h
文件 5686 2006-10-05 03:23 程序源码\IPMonitor\Include\pcap\sll.h
文件 3015 2007-09-21 19:06 程序源码\IPMonitor\Include\pcap\usb.h
文件 2440 2007-04-01 14:43 程序源码\IPMonitor\Include\pcap-bpf.h
文件 2167 2006-10-04 11:13 程序源码\IPMonitor\Include\pcap-namedb.h
文件 2418 2007-09-27 10:59 程序源码\IPMonitor\Include\pcap-stdinc.h
文件 2365 2006-10-04 11:09 程序源码\IPMonitor\Include\pcap.h
文件 14945 2007-09-27 11:32 程序源码\IPMonitor\Include\remote-ext.h
文件 4033 2006-08-09 17:16 程序源码\IPMonitor\Include\Win32-Extensions.h
文件 1301 2009-11-16 18:55 程序源码\IPMonitor\IPAddr.h
文件 6132 2009-11-16 23:10 程序源码\IPMonitor\IPMonitor.cpp
文件 4674 2009-11-16 20:37 程序源码\IPMonitor\IPMonitor.dsp
文件 541 2009-11-15 22:01 程序源码\IPMonitor\IPMonitor.dsw
文件 924 2009-11-16 18:55 程序源码\IPMonitor\IPMonitor.h
............此处省略24个文件信息
- 上一篇:Yelp数据集
- 下一篇:APEX辅助源码.rar
相关资源
- 抓包工具 sniffer
- ipv6网络抓包程序
- WinPcap+中文技术文档
- Fiddler中文版.zip
- 北邮 现代交换原理实验 sip电话 抓包
- 网络抓包工具Wireshark 破解版
- 截取封包工具
- WinPcap4.1.1官网正式版
- Http Analyzer 7(http抓包工具)7 7.6.4破解
- 强大的抓包工具:Fiddler_4.6.1.5
- Fiddler5.0汉化版
- rtmp抓包分析
- 解析抓包软件中tcp包装的数据并转换
- 2000个PNG图标
- WinPcap 中文技术文档(开发手册)
- 手把手 网络抓包学习视频 跟着pingi
- 网络流量统计基于Winpcap接口
- WpdPack包
- 基于winpcap的网络数据采集器的实现
- MentoHUST(含抓包工具及使用说明)
- WinPcap4.01版驱动程序+开发包+帮助文档
- WinPcap3.0版驱动程序+开发包+帮助文档
- 基于SIP协议的抓包工具
- IP数据包流量监控(这个程序利用Wi
- 基于qt的一款sip抓包工具
- 用winpcap在局域网实现文件传输
- cisco模拟器,可实现虚拟路由器的抓包
- Realtek wifi omnipeak 抓包驱动
- 安卓 网络请求抓包软件 免root
- 基于WinPcap的ARP欺骗实验
评论
共有 条评论