• 大小: 2.99MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-10
  • 语言: 其他
  • 标签: 课程设计  

资源简介

这是一份完整的监控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个文件信息

评论

共有 条评论