网络数据捕获方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、使用的函数库:libpcap(Packet Capture library)即数据包捕获函数库。支持Linux 系统,采用分组捕获机制的分组捕获函数库,用于访问数据链路层,在不同的平台上采用统一的编程接口,使用Libpcap编写的程序可自由的跨平台使用
Libcap 捕获数据包的方法流程
二、Winpcap:是基于win32的捕获数据包和网络分析的体系结构,包括一个内核级的包过滤器,一个底层的动态链接库(Packet.dll)一个高层并且与系统无关的库(Wpcap.dll)它可以从网卡捕获或者放送原始数据,同时能够过滤并且存储数据包主要功能有以下四项:
(1)捕获原始数据报,包括共享网络上各主机发送/接收的以及相互之间交换的数据报(2)在数据报发往应用程序之前,按照自定义的规则将某些特殊的数据报过滤掉
(3)在网络上发送原始的数据报
(4)手机网络通信过程中的统计信息
主要的优势:提供了一套标准的抓包接口,并且与libpcap兼容
Wincap抓包流程:
1.得到网络驱动列表,第一步就是要得到本地网卡列表
2.打开网卡捕获数据报,将网卡设置为混杂模式(处于混杂模式下的网卡将接收所有
流经它的数据报)
3.数据流的过滤
4.解析数据报
5.处理脱机的堆文件(可以做到从指定接口上捕获数据包并将它们存储到一个指定的
文件)
6.收集并统计网络流量
三、Raw Socket 方法
套接字:源IP地址和目的ip地址以及源端口号和目的端口号的组合称为套接字,用于标示客户端请求的服务器和服务。
Raw Socket 允许对较低层的协议直接访问,如IP,ICMP等。Raw Socket可以自如地控制Windows下的多种协议,能够对网络底层的传输机制进行控制,所以可以通过原始套接字来操纵网络层和传输层的应用。(如通过RS来接收发向本机的ICMP,IGMP协议包。也可以用来发送一些自定包头或自定协议的IP包)