网络封包抓取工具 winpcap

未知
Windows
2009-05-30
红薯

WinPcap是用于网络封包抓取的一套工具,可适用于32位的操作平台上解析网络封包,包含了核心的封包过滤,一个底层动态链接库,和一个高层系统函数库,及可用来直接存取封包的应用程序界面。
Winpcap是一个免费公开的软件系统。它用于windows系统下的直接的网络编程。
大多数网络应用程序访问网络是通过广泛使用的套接字。这种方法很容易实现网络数据传输,因为操作系统负责底层的细节(比如协议栈,数据流组装等)以及提供了类似于文件读写的函数接口。
但是有时,简单的方法是不够的。因为一些应用程序需要一个底层环境去直接操纵网络通信。因此需要一个不需要协议栈支持的原始的访问网络的方法。
winpcap适用于下面的开发者:
1、捕获原始数据包。不管这个包是发往本地机,还是其他机器之间的交换包。
2、在数据包被发送到应用程序之前,通过用户定义的规则过滤。
3、向网络发送原始数据包。
4、对网络通信量做出统计。
这些功能依赖于Win32系统内核中的设备驱动以及一些动态链接库。
Winpcap提供了一个强大的编程接口,它很容易地在各个操作系统之间进行移植,也很方便程序员进行开发。
什么样的程序需要使用Winpcap
很多不同的工具软件使用Winpcap于网络分析,故障排除,网络安全监控等方面。Winpcap特别适用于下面这几个经典领域:
1、网络及协议分析
2、网络监控
3、通信日志记录
4、traffic generators
5、用户级别的桥路和路由
6、网络入侵检测系统(NIDS)
7、网络扫描
8、安全工具
Winpcap有些方面不能做。它不依靠主机的诸如TCP/IP协议去收发数据包。这意味着它不能阻塞,不能处理同一台主机中各程序之间的通信数据。它只能“嗅探”到物理线路上的数据报。因此它不适用于traffic shapers,QoS调度,以及个人防火墙。
Winpcap内部结构
Winpcap是一个Win32平台下用于抓包和分析的系统。包括一个内核级别的packet filter,一个底层的DLL(packet.dll)和一个高级的独立于系统的DLL(Wpcap.dll)

1、 捕获系统要能得到网络上原始传输数据必须绕过协议栈。这就需要一个模快运行于操作系统内核,与网络设备驱动接口直接打交道。这一部分极端依赖系统,也被认 为是一种设备驱动。现有版本有Windows 85,98,ME,NT 4,2000,Xp。这些驱动提供一些如数据包的捕获与发送这些基本功能,还提供一些高级的可编程的过滤系统和监控引擎。过滤系统可以约束只捕获特定的数 据包(比如,只捕获特定主机发送的FTP报文)。监控引擎提供了一种强大但简单的使用机制去获得网络通信的统计荷载数据。
2、捕获系统要让用户程序使用内核提供的功能必须要有一个编程接口。Winpcap提供了两个不同的库:packet.dll 和wpcap.dll。
packet.dll提供一个底层的API,通过这个API可直接访问网络设备驱动,而独立于Microsoft OS.
wpcap.dll是一个高层的强大捕获程序库,与Unix下的libpcap兼容。它独立于下层的网络硬件和操作系统。

在线文档:http://www.osctools.net/apidocs/apidoc?api=winpcap

加载中

评论(0)

暂无评论

暂无资讯

29
回答
OSC 第 66 期高手问答 — WinPcap 深入解析

OSCHINA 本期高手问答( 3 月 28 日- 4 月 4 日)我们请来了 @吕雪峰 (吕雪峰)为大家解答关于 WinPcap 方面的问题。 吕雪峰,...

2015/03/30 08:34
2
回答
360 小米WiFi 上网DNS认证的原理分析下

我现在在用c#请问有什么参考的源码吗? 认证上网的原理是什么 ? 现在已经做出了云端的路由器认证上网 但是想给非智能路由器 开发一个WiFi认证到云端的客...

2015/05/15 22:41
8
回答
windows xp、7、8下有没有类似iptable的防火墙

如题,windows xp、7、8下有没有类似iptable的防火墙?wipfw只能过滤,不能修改,有没有能修改的呢?

2014/06/11 12:23
4
回答
msvcr100d.dll处有未处理的异常

@平原君 你好,想跟你请教个问题: void TCPScan::OnScanStart() { // TODO: Add your control n...

2013/06/04 22:13
4
回答
在CLR的窗体应用程序里引用VC下winpcap的LIB链接提示出错,不过在控制台项目里面引用相同的头文件却编译正常?
查理-charlie 的回答 2013/05/06 21:00
最佳答案
终于解决了,碰到类似问题的朋友可以参照 http://social.msdn.microsoft.com/Forums/zh-TW/234/thread/2b04ae2b-f93d-4970-a8c6-d47b85e56a4c/
2
回答
谁写过端口扫描的小程序

小弟急需通过winpcap的端口扫描程序(在控制台下面的),谁能给我这方面的资料。(文档或者一小段的代码都行)

2013/03/13 11:19
4
回答
基于winpcap的端口扫描

拿到毕业设计题目了,需要做一个基于winpcap的端口扫描程序,没有头绪,大神能给我点建议吧!UI设计用什么最快,我从没有用C++写过图形化的东西,怎么办?

2013/02/26 17:07
3
回答
如何区分ARP数据包
yesboob 的回答 2013/01/01 20:48
最佳答案
以太头的协议号是0x8086就是arp报文。

没有更多内容

加载失败,请刷新页面

解决Windows 10下Wireshark运行问题

解决Windows 10下Wireshark运行问题

2016/10/08 11:27
415
0
Winpcap+Jpcap使用

最近由于网络作业需要,被逼着要用这个!由于C/C++水平相当的弱,本着”不管收获有多少,好好注重学习的过程“的心态,只总结下简单的收获!此外,最近实在收获甚少,而且实验室项目拖了相当...

2013/11/12 09:34
1K
2
Wireshark 捕捉本地数据 --WinPcap切换NPcap

Wireshark默认匹配安装的是WinPcap,但是WinPcap有个缺点,不能抓取本地回环数据 NPcap是在WinPcap的基础上进行优化开发的,可以抓取本地数据 如果已安装WinPcap的请卸载,最好Wireshark一起卸...

2018/04/28 16:02
198
0
关于Wireshark "The NPF driver isn’t running……"解决办法

关于Wireshark "The NPF driver isn’t running……"解决办法 今天安装Wireshark软件时出现了如下图所示的错误,就搜索了一下解决方法,特总结如下: 这个错误是因为没有开启NPF服务造成的。...

2016/12/08 10:40
38
0
使用winpcap和libnet伪造302响应(1)

嗯,一个项目...略有心得...欢迎拍砖...不准打脸...

基于winpcap开发的相关资料

http://www.oschina.net/code/snippet_196111_7100 http://wenku.baidu.com/view/70dfb13383c4bb4cf7ecd177.html WINPCAP编程环境设置 http://bbs.houdao.com/r2745652/ 数据包的抓取 http:/...

2011/12/14 16:16
262
1
Wireshark数据抓包教程之安装Wireshark

Wireshark数据抓包教程之安装Wireshark

2015/07/14 15:02
1K
0
初窥wireshark fiddler等抓包工具及部分实现分析

因最近有道词典访问网络有问题,今天有道技术人员帮分析,用到抓包工具,再回顾下,转帖一篇不错的博文。 ----------------------------------------------------------- 做过网络方面开发的...

2012/12/06 19:34
4.1K
1
使用WinPcap编程

创建一个使用 wpcap.dll 的应用程序 用 Microsoft Visual C++ 创建一个使用 wpcap.dll 的应用程序,需要按一下步骤: 在每一个使用了库的源程序中,将 pcap.h 头文件包含(include)进来。 如果...

2014/08/16 13:54
73
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部