计算机网络设计与安全技术 课件9 网络抓包程序设计.pptxVIP

计算机网络设计与安全技术 课件9 网络抓包程序设计.pptx

  1. 1、本文档共20页,可阅读全部内容。
  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文档。上传文档
查看更多

《计算机网络设计与安全技术》

第9章网络抓包程序设计

学习内容:

(1)网络抓包软件体系结构分析;

(2)基于WinPcap的抓包程序设计;

(3)基于sharpCap的抓包程序设计;

(4)基于原始套接字的抓包程序设计。学习目标:

(1)了解网络抓包方法;

(2)学会选用WinPcap或SharpCap进行抓包编程;

(3)学会利用原始套接字进行网络抓包程序设计。

2

9.1网络抓包软件体系结构分析

网络抓包是对网络上收发的各层数据包进行捕获,以便进行协议分析。在结构上涉及到网络层、核心技术和用户交互层次,内容丰富。

9.1.1网络抓包技术分析

(1)基于WinPcap:在Windows平台下访问数据链路层,能够应用于网络数据包的构造、捕获和分析。该开源组件已经达到了工业标准的应用要求,便于程序员进行开发。

(2)基于SharpCap:SharpCap是把WinPcap用C#重新封装而来的。在C#编程时,需要先安装Winpcap组件,再引用以上SharpPcap的2个库文件

PacketDotNet.dlI,SharpPcap.dll。

/proiects/sharppcap/files/SharpPcap/4.2.0/。

(3)基于原始套接字技术

3

9.1.2WinPcap的体系结构

其他协议栈

核心缓冲区

转储引擎

日志程序

用户层

磁盘

NPF

4

9.2基于WinPcap的抓包程序设计

9.2.1WinPcap编程基础

一般采用C++语言调用WinPcap功能函数。

wpcap.dll为了获得与释放已连接的网络适配器设备列表,提供了下

列函数:

在文件\wpcap\libpcap\pcap\pcap.h中:

structpcap_if;

structpcap_addr;

intpcap_findalldevs(pcap_if_t**alldevsp,char*errbuf);

voidpcap_freealldevs(pcapift*alldevsp);

在文件wpcap\libpcaplremote-ext.h中:

intpcap_findalldevs_ex(char*source,structpcap_rmtauth

*auth,pcap_if_t**alldevs,char*errbuf);

5

功能函数的调用关系图:

应用程序

wpcap.dl1

pcap_open_offline

packet.dll

PacketGetAddressesFromRegistry

系统调用

释放网络适配器列表

pcap_freealldevs

rpcap_remoteact_getsock

pcap_add_if_win32

add_or_find_if

PacketGetNetInfoEx

PacketUpdateAdInfo

PacketFindAdInfo

PacketGetLinklayerFromRegistry

获得网络适配器列表

pcap_findalldevs_ex

pcap_findalldevs

PacketGetAdapterNames

PacketPopulateAdaptersInfoList

PacketGetAdaptersNPF

PacketAddAdapterNPF

PacketRequest

DeviceloControl

NPF

NPF_IoControl6

WinPcap

9.2.2WinPcap应用实例

下面给出几个实例,分别是获取网卡、抓包和发包程序。

(1)获取网卡信息

通过获取适配器列表,并在屏幕上显示出来,如果没有找到适配器,

将打印错误信息。并在程序结束时释放设备列表。

(2)抓包

本程序俘获局域网内UDP报文。

(3)发包

要在命令行下运行,给与参数:网卡描述符。或者添加代码findalldevs()。

7

{

示例用于显示本地网卡信息。classProgram

staticvoidMain(string[]args)

stringver=SharpPcap.Version.VersionString;

Console.WriteLine(SharpPcap{0

您可能关注的文档

文档评论(0)

乐毅淘文斋 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8121131046000040

1亿VIP精品文档

相关文档