欢迎来到天天文库
浏览记录
ID:44305855
大小:436.50 KB
页数:13页
时间:2019-10-20
《网络攻击与防范实验报告_杨刚》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、网络攻击与防范实验报告(杨刚)姓名:一杨刚一学号:200948300108005所在班级:信息学院702班实验名称:编写口己的网络嗅探器实验日期:2009年10月25日指导老师:张下•清、宋杨实验评分:验收评语:参与人员:姓名班级学号邮箱角色备注杨刚702200948300108005yanggang_2050@163.com开发者有待优化实验目的:•开发一个Windows平台上的网络嗅探工具•通过开发基于WinPcap的嗅探器,掌握嗅探器的工作原理,熟悉WinPcap的使川,掌握基于WinPcap网络嗅探器的开发过程实验内容:•能列出监测主机的所有网卡。•能选择其中一个网卡进
2、行监听•能捕获并显示流经网卡的数据包,并做相应的分析和统计•能设置捕获过滤规则(按协议类型、端口、地址等)•在TCP、UDP、ARP、ICMP、IGMP等协议中选择至少三种进行匝点分析,•选择至少一种应用层协议如http、ftp等进行分析・能按照I办议格式进行格式化显示。•有可视化操作界面,易于使用实验环境:>硬件环境:◊处理器:Pentiumlll800以上◊内存:1G◊硬盘:40G◊网卡:100M以上◊网速:ISDN128K以上软件环境:◊操作系统:WindowsXPwithSP3orVistaorWindows7◊开发工具:VisualStudio2008withSP1◊
3、开发语言:C++实验设计:本实验的目标主要是利用WinPcap开发包T具,独立开发出一个网络嗅探器。因此可以首先根据WinPc叩开发包提供的网络接口获収到底层的网卡信息及其数据包;然后再根据TCP/IP协议栈的结构,依次在数据链路层、网络层、数据传输层和应川层,分别进行数据包的分拆与解析,获取相丿应协议层的数据信息;再次经过几个最常用的协议,如针对Mac.ARP、IP、TCP、UDP、ICMP、HTTP等协议,进行测试;最后,对程序的结构框架、界面设计等不断地进行修正、改进,使自己开发的作品日臻完善。详细过程(本文所有程序源码,均摘自于本人源程序):>利用WinPcap开发包工
4、具◊获取本机所有网卡列表信息pcap_if_t*MyWinPcap::GetAdapterList(void){/*Retrievethedevicelistfromthelocalmachine*/charerrbuf[PCAPERRBUFSIZE];pcap_if_t*malldevs=newpcap_if_t();//??????allocatememorytosavatempall-devs?????if(pcap_findalldevs_ex(PCAP_SRC_IF_STRING,NULL/*authisnotneeded*/,&m_alldevs,errbuf)==
5、-1)//iferror{CStringerrmsg;USES_CONVERSION;errmsg・Format(TEXT(''Errorincap_finalldevs_ex():%s"),A2W(errbuf));AfxMessageBox(errmsg);returnNULL;}elseif(NULL二二m^alldevs){AfxMessageBox(TEXTC'Nointerfacesfound!MakesureWinPcapisinstalled...;returnNULL;}elsereturnm_alldevs;}"◊打开选中的网卡,获取数据包信息pcap_
6、if_t*CYGSnifferDlg::GetSelectedAdapter(intiSelectAdapterNo,intiTotalAdapter){inti;pcap_if_t*tmpAllDevs=tmpMyWinPcap・GetAdapterList();pcap_if_t*pSeletedAclapter=newpcap_if_t;pSelctcdAdaptcr=NULL;/*Jumptotheselectedadapter*/for(pSeletedAdapter二tmpAllDevs,i二0;i7、pSeletedAdapter->next,i++);//*********turntonextpiont*********returnpSeletedAdapter;if(pSeletedAdapter){deletepSeletedAdapter;pSeletedAdapter二NULL;DWORDWINAPIThread_GetFi1terData(LPV01Dparam){pcapift*pSelectedAdapter=(pcapift*)param;//GetSelcctcdAd
7、pSeletedAdapter->next,i++);//*********turntonextpiont*********returnpSeletedAdapter;if(pSeletedAdapter){deletepSeletedAdapter;pSeletedAdapter二NULL;DWORDWINAPIThread_GetFi1terData(LPV01Dparam){pcapift*pSelectedAdapter=(pcapift*)param;//GetSelcctcdAd
此文档下载收益归作者所有