资源简介
这是一份完整的监控IP包流量的计算机网络课程设计,包含VC工程文件和课程设计报告,里面还有关于cmd最常用的命令简介和一个winpacp安装文件。
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include“pcap.h“
#include“IPNodeList.h“
#pragma comment(lib“Wpcap.lib“)
#pragma comment(lib“Ws2_32.lib“)
struct ip_header
{
unsigned char ver_ihl;//版本号(4)+头部长度(4)
unsigned char tos;
unsigned short tlen; //总长度
unsigned short identification;//标识
unsigned short flags_fo;
unsigned char ttl;
unsigned char proto; //协议
unsigned short crc;
DWORD saddr; //源地址
DWORD daddr; //目的地址
unsigned int op_pad; //选项+填充
};
void main(int argcchar* argv[])
{
if(argc!=3)
{
cout<<“usage:IP Statistic time logfile“< cout<<“press any key to continue...“< _getch();
return;
}
double min=atof(argv[1]);//argv:时间,字符串转换另:atof()函数将字符串转换成浮点型数;
pcap_if_t *alldevs; //pcap_if_t是pcap_if的宏定义,是网络设备结构的列表,列表的每一项包含关于适配器的复杂的信息
pcap_if_t *d*head=NULL;
pcap_t *fp;
char errbuf[PCAP_ERRBUF_SIZE];
unsigned int netmask;
char packet_filter[]=“ip“;//过滤规则
struct bpf_program fcode;
struct pcap_pkthdr *header;
const unsigned char *pkt_data;
//获取网路设备列表
if(pcap_findalldevs(&alldevserrbuf)==-1)
{
cout<<“Error in pcap_findalldevs:“< return;
}
int i;
int j=0;
for(d=alldevs;d;d=d->next)//列出网卡列表
{
cout<<++j<<“: “<name;
if(d->description)
cout<<“ “<description< }
cout<<“\nEnter the interface number (1-“< int k;
cin>>k;
if(k<1||k>j)
{
cout<<“out of range“< return;
}
for(d=alldevsi=1;inexti++);
head=d;
//以混杂模式打开网卡
if((fp=pcap_open_live(head->name100011000errbuf))==NULL)//监听的设备接口名,最大数目的网络数据包,是否混杂,超时时间,存储出错信息
{
cout<<“\nUnable to open the adapter.“< pcap_freealldevs(alldevs);
return;
}
//获得子网掩码
if(head->addresses !=NULL)
netmask=((struct sockaddr_in*)(head->addresses->netmask))->sin_addr.S_un.S_addr;//将二进制IP转化为点进十进制
else
netmask=0xffffff;
//编译过滤器
if(pcap_compile(fp&fcodepacket_filter1netmask)<0)//packet_filter:规则表达式格式的过滤规则,netmask:监听接口的网络掩码
{
cout<<“\nUnable to compile the packet filter. Check the syntax. \n “;
pcap_freealldevs(alldevs);
return;
}
//设置过滤器
if(pcap_setfilter(fp&fcode)<0)//pcap的会话句柄;经过编译后的过滤规则,返回-1表示操作失败,其他值表成功
{
cout<<“\nError setting the filter.\n“;
pcap_freealldevs(alldevs);
return;
}
//显示提示信息及每项含义
cout<<“\nlistening on“<description<<“...“< ofstream fout(argv[2]ios::app); //
fout<<“\tIP Statistic:(“< time_t tmp=time(NULL); //
fout< cout<<“IP Statistic:(“< fout<<“ Sour IP “<<“\tpacket numbers“<
//释放设备列表
pcap_freealldevs(alldevs);
NodeList link;//定义结点链表link
int res;
time_t beg; //time_t是long型的变量,当前时间
time_t end; //结束时间
time(&beg); //
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 0 2010-06-25 10:58 IPMONITOR\Debug\a.txt
文件 3886 2010-06-24 19:13 IPMONITOR\Debug\BuildLog.htm
文件 2032640 2010-06-23 18:06 IPMONITOR\Debug\IPMONITOR.bsc
文件 254011 2010-06-26 20:50 IPMONITOR\Debug\IPMONITOR.exe
文件 327256 2010-06-26 20:50 IPMONITOR\Debug\IPMONITOR.ilk
文件 30682 2010-06-26 20:50 IPMONITOR\Debug\ipmonitor.obj
文件 4867136 2010-06-26 20:37 IPMONITOR\Debug\IPMONITOR.pch
文件 648192 2010-06-26 20:50 IPMONITOR\Debug\IPMONITOR.pdb
文件 1003136 2010-06-26 20:50 IPMONITOR\Debug\ipmonitor.sbr
文件 3584 2010-06-24 19:22 IPMONITOR\Debug\IPMONITOR.suo
文件 279552 2010-06-26 20:50 IPMONITOR\Debug\vc60.idb
文件 102400 2010-06-26 20:50 IPMONITOR\Debug\vc60.pdb
文件 76800 2010-06-24 19:13 IPMONITOR\Debug\vc90.idb
文件 135168 2010-06-24 19:13 IPMONITOR\Debug\vc90.pdb
文件 1555 2010-06-13 19:58 IPMONITOR\Debug\命令提示符.lnk
文件 4049 2010-06-26 20:50 IPMONITOR\ipmonitor.cpp
文件 4462 2010-06-24 16:44 IPMONITOR\IPMONITOR.dsp
文件 541 2010-06-22 21:11 IPMONITOR\IPMONITOR.dsw
文件 74752 2010-06-26 20:50 IPMONITOR\IPMONITOR.ncb
文件 70656 2010-06-26 20:50 IPMONITOR\IPMONITOR.opt
文件 1299 2010-06-26 20:50 IPMONITOR\IPMONITOR.plg
文件 883 2010-06-24 19:08 IPMONITOR\IPMONITOR.sln
..A..H. 10752 2010-06-24 19:14 IPMONITOR\IPMONITOR.suo
文件 5368 2010-06-24 19:08 IPMONITOR\IPMONITOR.vcproj
文件 1427 2010-06-24 19:14 IPMONITOR\IPMONITOR.vcproj.PC2010060420VAO.Administrator.user
文件 2011 2010-06-26 20:37 IPMONITOR\IPNodeList.h
文件 15467 2010-06-24 16:25 IPMONITOR\PCAP.H
文件 84480 2010-06-26 20:46 课程设计报告:监控IP包流量.doc
文件 221 2010-06-26 20:49 CMD命令最常用命令简介.txt
文件 550560 2008-07-08 11:02 WinPcap_4_0_2.exe
............此处省略6个文件信息
相关资源
- 自顶向下计算机网络第五版中文版课
- UML课程设计—学生成绩管理系统
- B卷 2019年计算机网络应用赛项国赛样
- A卷 2019年计算机网络应用赛项国赛样
- 软工课程设计_银行储蓄系统
- 电子招生网站
- 数据结构课程设计——飞机订票系统
- 计算机网络实验报告四个Cisco实验带
- 电子科技大学计算机学院计算机网络
- 数字集成电路——课程设计报告
- 计算机网络第五版答案 英文版 Andre
- 2019 王道考研 计算机网络
- 计算机网络安全教程(第2版)
- 软件工程课程设计
- 王道2019计算机网络高清无水印
- ARCGIS二次开发课程设计
- 计算机网络原理创新教程韩立刚老师
- 计算机网络第六版课后答案
- struts2+hibernate的网上购物管理系统的课
- 元器件管理小程序
- 《计算机网络》(中文版第四版)
- 华科834复习全书数据结构+计算机网络
- SSH学生信息管理系统毕业课程设计源
- 全部wireshark实验-计算机网络 自顶向下
- Qt实现简单版炫舞小游戏
- 太空大战 太空战机 Funcode 课程设计
- 计算机网络(第六版)(谢希仁著)
- 计算机网络安全教程 第二版
- FPGA课程设计,数字时钟,verilog编写
- 华中科技大学计算机学院计算机网络
评论
共有 条评论