没有合适的资源?快使用搜索试试~ 我知道了~
winpcap中文使用手册
4星 · 超过85%的资源 需积分: 9 33 下载量 127 浏览量
2013-07-02
17:48:47
上传
评论 4
收藏 976KB DOCX 举报
温馨提示
winpcap中文使用手册,WinPcap用户指南,WinPcap核心资料,远程捕获
资源推荐
资源详情
资源评论
WinPcap 中文技术文档
4.0.1
作者:
作者主页:
模块
WinPcap
用户指南
o 定义
o 输出函数
o 过滤串表达式的语法
o 使用
WinPcap
编程
o WinPcap
教程 : 循序渐进教您使用
WinPcap
获取设备列表
获取已安装设备的高级信息
打开适配器并捕获数据包
不用回调方法捕获数据包
过滤数据包
分析数据包
处理脱机堆文件
发送数据包
收集并统计网络流量
WinPcap
核心资料
o NPF
驱动核心指南
NPF
结构与定义
NPF
函数
o Packet.dll -- 数据包驱动
API
o 如何编译
WinPcap
远程捕获
o 输出结构与定义
o 外部函数对于提供远程捕获的函数引用请参阅 输出函数 章节的
o 核心数据结构与定义
介绍
本手册提供了 编程接口的描述及其源代码。它与详尽的 核心资料一起,为编程
人员提供了详细的函数与结构的描述,同时也提供了若干教程和程序范例。
您可以点击页面顶部的导航链接,或者使用页面左边的树形控件,来跳转到您感兴趣的内容。
本文档使用 创建,您可以登录
阅览相关内容。
什么是 WinPcap
是一个基于 ! 平台的,用于捕获网络数据包并进行分析的开源库
大多数网络应用程序通过被广泛使用的操作系统元件来访问网络,比如 "。 这是一种简单的
实现方式,因为操作系统已经妥善处理了底层具体实现细节(比如协议处理,封装数据包等等),
并且提供了一个与读写文件类似的,令人熟悉的接口。
然而,有些时候,这种“简单的方式”并不能满足任务的需求,因为有些应用程序需要直接访问网络中
的数据包。也就是说,那些应用程序需要访问原始数据包,即没有被操作系统利用网络协议处理过
的数据包。
产生的目的,就是为 ! 应用程序提供这种访问方式; 提供了以下功能
捕获原始数据包,无论它是发往某台机器的,还是在其他设备(共享媒介)上进行交换的
在数据包发送给某应用程序前,根据用户指定的规则过滤数据包
将原始数据包通过网络发送出去
收集并统计网络流量信息
以上这些功能需要借助安装在 ! 内核中的网络设备驱动程序才能实现,再加上几个动态链接库
##。
所有这些功能都能通过一个强大的编程接口来表现出来易于开发,并能在不同的操作系统上使用。
这本手册的主要目标是在一些程序范例的帮助下,叙述这些编程接口的使用。 如果您现在就想开
始摸索这些功能,您可以直接进入
用户手册
哪些程序在使用 WinPcap
可以被用来制作许多类型的网络工具,比如具有分析,解决纷争,安全和监视功能的工具。
特别地,一些基于 的典型应用有:
网络与协议分析器 $"%%&'
网络监视器 $"'
网络流量记录器 $(%'
网络流量发生器 $('
用户级网桥及路由 $%)%*'
网络入侵检测系统 $"$+,-''
网络扫描器 $"'
安全工具 $%'
什么是 WinPcap 做不到的
能
独立地
通过主机协议发送和接受数据,如同 .,。这就意味着 不能阻止、
过滤或操纵同一机器上的其他应用程序的通讯:它仅仅能简单地监视在网络上传输的数据包。所
以,它不能提供类似网络流量控制、服务质量调度和个人防火墙之类的支持。
本手册的目标
本手册的目的是提供一个全面而简单的方法来让您浏览 的设计文档。你会找到两个主要部
分:
用户指南 和
核心资料
第一部分内容主要适合那些需要利用 开发应用程序的编程人员: 它包含了 /,
的所有函数和数据结构的信息, 说明部分解释了如何编写一个数据包过滤器,而另一个页面则解释
了如何将它包含到应用程序中。一个教程也提供了若干个程序范例,您可以使用它来循序渐进地学
习 /, 的基本使用方法,不过有时候,它也会提供一些高级应用的代码片断。
第二部分内容主要为 的开发、维护人员,以及那些希望了解系统工作原理的人士而准备。
它描述了 的主要设计方法,并解释了它是如何工作的。另外,它阐述了完整的设备驱动的
数据结构及源代码,"%% 的接口以及底层的 的 /,。如果您想了解 内部
发生了什么,或者您想去扩展它,那么请您阅读此部分内容。
附加文档
最新最及时的文档,请访问
特别地,如果您对 的系统结构和核心内容感兴趣,我们建议您阅读下列内容
0%)1#//232+"
/%
34%!556
#78%0%)19%:%
;&2-28+"/%/%
!"#$-%8%+)*!55
#)%2/2".
+"(/%9%$
,%7!555'
术语
为了文献的一致性我们会使用术语
数据包
%,尽管用术语
帧
会更加准确,
因为捕获过程是在数据链路层完成的,并且数据链路首部也包含在被捕获的数据中。
本文档中使用的术语 &'(表示与 <= 同一体系的微软操作系统,如
<> 和 7。 术语 &)*(表示基于 + 内核的操作系统,从 +
? 开始,包含了 !555@-)!55 等
附注
我们主要会致力于开发基于 +!555@!55 版本的 及其相关文档。这一选
择是基于这样一个事实,大多数 用户都工作在 + 系统上,而且 < 技术已经被微软放弃。
此外,我们假定,使用 . 机来完成类似网络分析这样高级任务的用户,都会安装高级的操作系统。
鉴于这个原因,本文档将参考 + 的驱动和 /,。< 版本在概念上很类似,不过有时在执
行上有些不同。在有些场合,< 版本的 /, 缺少一些高级功能。这本手册会给出一个完整的
/, 描述,并会指出那些只有 + 才得到支持的函数。
WinPcap 教程: 循序渐进教您使用 WinPcap
本节将向您展示如何使用 /, 的一些特性。 这部分教程细化成若干节课,以循序渐进的
方式介绍给读者,让读者从最基本的部分$获得设备列表'到最复杂的部分$控制发送队列并收集和统
计网络流量'来了解如何使用 进行程序开发。
有时,我们会给出一些简单使用的代码片断,但同时,我们提供完整程序的链接:所有的源代码包
含一些指向手册其他地方的链接,这可以让您很方便地通过点击鼠标来跳转到您想查看的函数和数
据结构的内容中去。
范例程序都是用纯 . 语言编写所以,掌握基本的 . 语言编程知识是必须的,而且,这是一部关于
处理原始网络数据包的教程,因为,我们希望读者拥有良好的网络及网络协议的知识。
获取设备列表
通常,编写基于 应用程序的第一件事情,就是获得已连接的网络适配器列表。%* 和
都提供了 pcap_ndalldevs_ex()函数来实现这个功能这个函数返回一个 pcap_if
结构的链表, 每个这样的结构都包含了一个适配器的详细信息。值得注意的是,数据域 和
表示一个适配器名称和一个可以让人们理解的描述。
下列代码能获取适配器列表,并在屏幕上显示出来,如果没有找到适配器,将打印错误信息。
#include "pcap.h"
main()
{
pcap_if_t *alldevs;
pcap_if_t *d;
int i=0;
char errbuf[PCAP_ERRBUF_SIZE];
/* 获取本地机器设备列表 */
if (pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL /* auth
is not needed */, &alldevs, errbuf) == -1)
{
fprintf(stderr,"Error in pcap_findalldevs_ex: %s\n", errbuf);
exit(1);
}
/* 打印列表 */
for(d= alldevs; d != NULL; d= d->next)
{
printf("%d. %s", ++i, d->name);
if (d->description)
printf(" (%s)\n", d->description);
else
printf(" (No description available)\n");
}
if (i == 0)
{
printf("\nNo interfaces found! Make sure WinPcap is installed.\n");
return;
}
剩余63页未读,继续阅读
资源评论
- chongxing012019-07-18WinPcap仅仅用于监控,不能用于控制!!!
wjcl122791
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功