网站大量收购独家精品文档,联系QQ:2885784924

Lshark程序设计报告.docVIP

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Lshark程序设计报告

Lshark程序设计报告 目 录 1 简介 2 2 WpCap开发包介绍 2 2.1.获得网卡列表 2 2.2.网卡捕获 2 2.2.1 打开设备 2 2.2.2 设置过滤 3 2.2.3 捕获数据 3 2.3.得到捕获数据 4 2.4.存储捕获数据 4 3 协议报文介绍和相关数据结构设计 5 3.1 以太帧 5 3.2 ARP报文 6 3.3 Ipv4报文 7 3.4 Ipv6报文 8 3.5 UDP报文 9 3.6 TCP报文 9 4 网络嗅探器的具体实现 11 4.1功能介绍 11 4.2 显示网卡列表 11 4.3 设置过滤 12 4.4 捕获和停止捕获 12 4.5 存储捕获数据 13 4.6 动态过滤捕获数据 13 4.7 分析硬盘文件 13 4.8 数据详细分析 13 4.9 相关程序说明 14 1 实验简介 随着计算机技术的发展,网络应用的普及,网络已成为生活中不可或缺的一部分,同时网络的安全性与可靠性也日益受到人们的广泛重视。网络监听与故障排查技术对于网络安全至关重要,它是网络安全维护的一个基础技术但也是网络入侵的核心手段,它具有重大的研究意义。 目前, 基于Winpcap(Libpcap)的网络数据包的捕获和分析技术发展十分迅速,网络监听工具不断面世,其中最具代表性的是Wireshark和Sniffer。 本实验分析了部分网络协议报文的结构,研究了Winpcap开发包,并引用Winpcap开发包,采用Visual Studio 6.0做为开发环境,用MFC对话框程序开发了一个简易的网络协议分析工具,希望对于研究学习网络协议有益。在开发初期,采用vc6.0英文版作为首要开发环境。鉴于VC6.0和InstallShield对中言文支持不好,后期程序打包迁移至VS2005,由VS2005打包制作成安装文件。 本程序由安徽师范大学数学计算机科学学院08计算机(师范)1班 L 组成员共同完成。程序界面和功能仿WireShark,功能还不完善,且程序运行过程中会出现小小的bug,这些都是今后要改进的地方。由于本组成员姓氏均为李、刘,故本程序取名为Lshark。 2 WpCap开发包介绍 2.1.获得网卡列表 pcap_findalldevs函数用来得到监听主机网卡列表,得到的设备信息存储在一个pcap_if_t类型的指针变量中,其中name属性将作为设备接口参数传递给捕获函数,可以利用以下代码得到网卡列表。 pcap_if_t *alldevs, *d; char errbuf[PCAP_ERRBUF_SIZE]; if(pcap_findalldevs(alldevs, errbuf)==-1) return; for(d=alldevs; d; d=d-next) { name=d-name; description=d-description; } 2.2.网卡捕获 网卡捕获数据包括这几个过程:打开设备,设置过滤条件,捕获数据。 2.2.1 打开设备 使用pcap_open_live函数可以打开网卡设备,该函数需要网卡的name参数,并且网卡设为混杂模式才能接受一切流经网卡的数据帧。pcap_open_live函数的第3个参数设置为1时即完成网卡混杂模式的设置。 pcap_t *adhandle; char errbuf[PCAP_ERRBUF_SIZE]; if ((adhandle = pcap_open_live(name,65536,1,1000,errbuf)) == NULL) { 打开设备错误; } 此外Wpcap还提供一种离线文件的分析机制,即pcap_open_offline函数,它可以打开离线文件并映射到设备adhandle上,针对adhandle也可以做过滤和分析,函数使用方法如下,变量ofilename是文件路径,adhandle对应一个“虚拟设备”。 pcap_t *adhandle; char *ofilename; if ((fp = pcap_open_offline(ofilename,errbuf)) == NULL) { 打开设备错误; } 2.2.2 设置过滤 过滤条件是通过pcap_compile函数和pcap_setfilter来完成的,前者判断过滤条件语句是否正确,后者设置过滤条件。 u_int netmask; struct bpf_program fcode; char *packet_filter; //过滤语句 if (pcap_compile(adhandle, fcode, packet_filter, 1, netmask) 0 ) { 过滤语句出错; } if (pcap_setfilter(adhandle, fcode)0) { 过

文档评论(0)

baoyue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档