使用Wincap编制一个简单的网络数据包监听与捕获程序

使用Wincap编制一个简单的网络数据包监听与捕获程序

ID:47488374

大小:114.51 KB

页数:6页

时间:2020-01-12

使用Wincap编制一个简单的网络数据包监听与捕获程序_第1页
使用Wincap编制一个简单的网络数据包监听与捕获程序_第2页
使用Wincap编制一个简单的网络数据包监听与捕获程序_第3页
使用Wincap编制一个简单的网络数据包监听与捕获程序_第4页
使用Wincap编制一个简单的网络数据包监听与捕获程序_第5页
资源描述:

《使用Wincap编制一个简单的网络数据包监听与捕获程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一、实验目的复习计算机网络课程相关知识,采用合适的程序开发语言完成网络程序开发。二、实验环境微机一台操作系统:WinXP/Linux编程软件:C++二、实验内容要求使用Wincap编制一个简单的网络数据包监听与捕获程序,同时,将捕获的数据包进行分析并将分析结果显示在屏幕上。三、实验步骤、记录和结果代码如下:#include"pcap.h"typedefstruct{intnumber;charname[10];}Protocol;Protocolprotocol[10];/*4字节的IP地址*/typedefstructip_address{u_charbyte1;u_ch

2、arbyte2;u_charbyte3;u_charbyte4;}ip_address;/*IPv4首部*/typedefstructip_header{u_charver_ihl;//版本(4bits)+首部长度(4bits)u_chartos;//服务类型(Typeofservice)u_shorttlen;//总长(Totallength)u_shortidentification;//标识(Identification)u_shortflags_fo;//标志位(Flags)(3bits)+段偏移量(Fragmentoffset)(13bits)u_charttl;

3、//存活时间(Timetolive)u_charproto;//协议(Protocol)u_shortcrc;//首部校验和(Headerchecksum)ip_addresssaddr;//源地址(Sourceaddress)ip_addressdaddr;//目的地址(Destinationaddress)u_intop_pad;//选项与填充(Option+Padding)}ip_header;/*回调函数原型*/voidpacket_handler(u_char*param,conststructpcap_pkthdr*header,constu_char*pkt_

4、data);intmain(){pcap_if_t*alldevs;pcap_if_t*d;intinum;inti=0;pcap_t*adhandle;charerrbuf[PCAP_ERRBUF_SIZE];u_intnetmask;//charpacket_filter[]="ipandudp";charpacket_filter[]="ip";structbpf_programfcode;protocol[0].number=1;strcpy(protocol[0].name,"ICMP");protocol[1].number=2;strcpy(protocol[

5、1].name,"IGMP");protocol[2].number=4;strcpy(protocol[2].name,"IP");protocol[3].number=6;strcpy(protocol[3].name,"TCP");protocol[4].number=8;strcpy(protocol[4].name,"EGP");protocol[5].number=9;strcpy(protocol[5].name,"IGP");protocol[6].number=17;strcpy(protocol[6].name,"UDP");protocol[7].nu

6、mber=41;strcpy(protocol[7].name,"IPv6");protocol[8].number=50;strcpy(protocol[8].name,"ESP");protocol[9].number=89;strcpy(protocol[9].name,"OSPF");/*获得设备列表*/if(pcap_findalldevs_ex(PCAP_SRC_IF_STRING,NULL,&alldevs,errbuf)==-1){fprintf(stderr,"Errorinpcap_findalldevs:%s",errbuf);exit(1);}/

7、*打印列表*/for(d=alldevs;d;d=d->next){printf("%d.%s",++i,d->name);if(d->description)printf("(%s)",d->description);elseprintf("(Nodescriptionavailable)");}if(i==0){printf("Nointerfacesfound!MakesureWinPcapisinstalled.");return-1;}printf("Entertheinterfacenu

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。