基于PCAP网络分析程序实现.PDFVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于PCAP的网络分析程序的实现 PCAP ▸ - PCAP 是一组抓取网络流量的接口组合 ▸ - 在类unix的系统上PCAP接口的实现是libpcap,在windows系 统上是WinPcap ▸ - PCAP API都是用C写的.所以其他语言如java,net.或者脚本语 言,如果要使用的话,都是对这些类库的调用 LIBPCAP WINP ▸ libpcap和WinPcap提供许多开源和商业网络工具的数据包捕获和过滤引擎,包括 协议分析器 (数据包嗅探器),网络监视器,网络入侵检测系统,流量生成器和 网络测试器。 ▸ libpcap和WinPcap还支持将捕获的数据包保存到文件中,并读取包含已保存数据 包的文件; 可以使用libpcap或WinPcap编写应用程序,以便能够捕获网络流量并 对其进行分析,或者使用相同的分析代码读取已保存的捕获并对其进行分析。以 libpcap和WinPcap使用的格式保存的捕获文件可以由了解该格式的应用程序读取 ,例如tcpdump,Wireshark,CA NetMaster或Microsoft Network Monitor 3.x. ▸ libpcap和WinPcap创建和读取的文件格式的MIME类型是application / vnd.tcpdump.pcap。典型的文件扩展名是.pcap,但.cap和.dmp也是常用的。 LIBPCAP ▸ libpcap最初由美国劳伦斯伯克力国家实验室网络研究小组的 tcpdump开发人员开发。它是tcpdump 的低级数据包捕获,捕 获文件读取和捕获文件分析的类库,tcpdump基于libpcap实现 。 ▸ 官网 ▸ / LIBPCAP原理 ▸ ` LIBPCAP ▸ 捕获各种数据包,例如 :网络流量统计 ▸ 过滤网络数据包,例如 :过滤掉本地上的一些数据,类似防 火墙 ▸ 分析网络数据包,例如 :分析网络协议,数据的采集 ▸ 存储网络数据包,例如 :保存捕获的数据以为将来进行分析 LIBPCAP的转包框架 ▸ pcap_lookupdev():函数用来查找网络设备,返回可被pcap_open_live()函数调 用的网络设备名指针。 ▸ pcap_lookupnet():函数获得指定网络设备的网络号和掩码。 ▸ pcap_open_live():函数用于打开设备,并且返回用于捕获网络数据包的数据包捕 获描述字。对于此网络设备的操作都要基于此网络设备描述字。 ▸ pcap_compile():函数用于将用户制定的过滤策略编译到过滤程序中 ▸ pcap_setfilter():函数用于设置过滤器 ▸ pcap_loop():与pcap_next()和pcap_next_ex()两个函数一样用来捕获数据包 ▸ pcap_close():函数用于关闭网络设备,释放资源 LIBPCAP函数库开发应用程序的步骤 ▸ 打开网络设备 ▸ 设置过滤规则 ▸ 捕获数据 ▸ 关闭网络设备 LIBPCAP函数库开发应用程序的步骤 ▸ C程序实现 PCAP文件格式 LIBPCAP文件格式 ▸ pcap文件的格式为 : 文件头 24字节 数据报头+ 数据报 数据包头为16字节,后面紧跟数据报 数据报头+ 数据报 LIBPCAP文件格式 ‣ Timestamp :时间戳高位,精确到seconds (值是自从January 1, 1970 00:00:00 GMT 以来的秒数来记) ‣ Timestamp :时间戳低位,精确到microseconds (数据包被捕获时候的微秒 (microseconds)数,是自ts-sec的偏移量) ‣ Caplen :当前数据区的长度,即抓取到的数据帧长度,由此可以得到下一个数据帧的 位置。 : ‣ Len :离线数据长度 网络中实际数据帧的长度,一般不大于caplen,多数情况下和 Caplen数值相等。 LIBPCAP文件格式 ‣ 。 .TCP/IP协议各层关系 ‣ 。 .TCP/IP协议各层关系 ‣ 。 .TCP/IP协议各层关系 ‣ 。 .TCP/IP协议各层关系 ‣ 。 .BPF(Berkeley Packet Filter (BPF) ‣ 当一个数据包到达网络接口时,数据链路层的驱

文档评论(0)

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

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

1亿VIP精品文档

相关文档