资源简介
使用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
相关资源
- 校园网计费系统的设计与实现
- Fiddler 最新简体中文版
- 抓包工具HttpWatch
- Fiddler5.0的中文版
- 一个牛人总结的sniffer抓包分析教程
- Fiddler+v4.6.1.5汉化版
- Omnipeek无线网卡抓包驱动
- Ti zigbee 蓝牙4 0 抓包分析工具 Packet
- BusHound_v6.0.1正式版(串_并_IDE_SATA_US
-
rali
nkAE3000/AE6000 omnipeek sniff抓包驱动 - 抓包工具qt 程序
- Wireshark数据抓包分析(网络协议篇)
- 一个IP抓包工具,很好用,界面又美
- 基于winpcap的网络入侵检测系统(源码
- 计算机网络课程设计 WireShark网络抓包
- sniffer抓包驱动
- 网络抓包工具,可指定进程抓包
- IRIS网络嗅探器-网络抓包小工具哈
- fiddler抓包教程
-
rali
nk_2870 omnipeek 抓包驱动 - SnifferPro网络抓包工具带注册码
- snnifer本人有安装可以用.
- nordic蓝牙抓包工具以及教程
- 基于Winpcap实现抓取数据包
- NM34 windows 无线抓包
- 最新wireshark1.12
- dali网络抓包文件分析工具
- 极好用的网络抓包工具
- SmartRF_Packet_Sniffer_2.17.1
- Ubiqua 1.4破解版zigbee协议抓包工具
评论
共有 条评论