winPcap_1_开篇

什么是WinPcap

  WinPcap是一个基于Win32平台的,用于捕获网络数据包并进行分析的开源库.

  因为有些应用程序需要直接访问网络中的数据包。也就是说,那些应用程序需要访问原始数据包,即没有被操作系统利用网络协议处理过的数据包。

WinPcap产生的目的,就是为Win32应用程序提供"没有被操作系统利用网络协议处理过的数据包"访问方式;

WinPcap提供了以下功能

  • 捕获原始数据包,无论它是发往某台机器的,还是在其他设备(共享媒介)上进行交换的
  • 在数据包发送给某应用程序前,根据用户指定的规则过滤数据包
  • 将原始数据包通过网络发送出去
  • 收集并统计网络流量信息

以上这些功能需要借助安装在Win32内核中的网络设备驱动程序才能实现,再加上几个动态链接库DLL。

哪些程序在使用WinPcap

WinPcap可以被用来制作许多类型的网络工具,比如具有分析,解决纷争,安全和监视功能的工具。特别地,一些基于WinPcap的典型应用有:

  • 网络与协议分析器 (network and protocol analyzers)
  • 网络监视器 (network monitors)
  • 网络流量记录器 (traffic loggers)
  • 网络流量发生器 (traffic generators)
  • 用户级网桥及路由 (user-level bridges and routers)
  • 网络入侵检测系统 (network intrusion detection systems (NIDS))
  • 网络扫描器 (network scanners)
  • 安全工具 (security tools)

什么是WinPcap做不到的

WinPcap能 独立地 通过主机协议发送和接受数据,如同TCP-IP。这就意味着WinPcap不能阻止、过滤或操纵同一机器上的其他应用程序的通讯:它仅仅能简单地"监视"在网络上传输的数据包。所以,它不能提供类似网络流量控制、服务质量调度和个人防火墙之类的支持。

winPcap用户指南:内容主要适合那些需要利用WinPcap开发应用程序的编程人员: 它包含了WinPcap API的所有函数和数据结构的信息, 说明部分解释了如何编写一个数据包过滤器,而另一个页面则解释了如何将它包含到应用程序中。一个教程也提供了若干个程序范例,您可以使用它来循序渐进地学习WinPcap API的基本使用方法,不过有时候,它也会提供一些高级应用的代码片断。

winPcap核心资料:内容主要为WinPcap的开发、维护人员,以及那些希望了解系统工作原理的人士而准备。它描述了WinPcap的主要设计方法,并解释了它是如何工作的。另外,它阐述了完整的设备驱动的数据结构及源代码,packet.dll的接口以及底层的WinPcap的API。如果您想了解WinPcap内部发生了什么,或者您想去扩展它,那么请您阅读此部分内容。

附加文档

最新最及时的文档,请访问 http://www.winpcap.org/docs/

时间: 2024-10-27 00:17:08

winPcap_1_开篇的相关文章

2016年开篇 - 敏捷与成果经济

Manifesto for Agile Software Development 敏捷软件开发宣言 Individuals and interactions over processes and tools 个体和互动 高于 流程和工具 Working software over comprehensive documentation 工作的软件 高于 详尽的文档 Customer collaboration over contract negotiation 客户合作 高于 合同谈判 Resp

2015黑帽大会开篇:“互联网自由和开放正走向消亡”

2015年黑帽大会于上周三在拉斯维加斯正式拉开帷幕,本次大会新增关注互联网文化中的法律角色极其暗淡前景的话题. 当天开讲人Jennifer Granick,系斯坦福大学社交网络中心公民自由系主任,因其在合法防御黑客方面的建树而知名,以理想主义的口吻开篇. "我一直坚信自由和开放的互联网终将到来.且我一直相信我们需要一个信息可免费获取的世界,"Granick这样说道,"我认为人们可以自由获取tinker--这样的手动命令人们应该能够研究.操控乃至对定义着世界的设备和软件进行反向

Android异步加载全解析之开篇瞎扯淡

Android异步加载 概述 Android异步加载在Android中使用的非常广泛,除了是因为避免在主线程中做网络操作,更是为了避免在显示时由于时间太长而造成ANR,增加显示的流畅性,特别是像ListView.GridView这样的控件,如果getView的时间太长,就会造成非常严重的卡顿,非常影响性能. 本系列将展示在Android中如何进行异步加载操作,并使用ListView来作为演示的对象. 如何下载图像 下载自然是需要使用网络,使用网络就不能在主线程,在主线程就会爆炸.所以我们必须要在

OPC学习开发记录(C#):OPC客户端【开篇】

OPC客户端 1.前言 思前想后,还是写下来实在一点,一来可以对自己的学习开发结果进行总结,二来可以锻炼自己表达能力,如何能够将意思表达清楚.博客园真的没有认真做做记录,也不会排版,丑的一比.关于OPC开发的,从零慢慢开始学习(谁不是呢),从简单的开始,OPC客户端是怎么使用的问题,站在用户(相对)的角度,也是比较简单的一部分,易从这一部分入手.根据网上的源码,我很快就自己开发了一个将就能用的OPC客户端,主要目的还是掌握OPC的结构和用法,为以后OPC服务器开发做铺垫.本篇为记录开篇,新手上路

webService(一)开篇

Webservice技术在web开发中算是一个比较常见技术.这个对于大多数的web开发者,别管是Java程序员还是.NET程序员应该都不是很陌生.今天我就和大家一起来学习一下webservice的基本内容.此篇文章作为webservice的开篇,首先我们来看一下什么是webservice.他能干什么用呢? 什么是webservice Web Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务. 用简单点的话说,就是系

Html5 Egret游戏开发 成语大挑战(一)开篇

最近接触了Egret白鹭引擎,感觉非常好用,提供了各种各样的开发工具让开发者和设计者更加便捷,并且基于typescript语言开发省去了很多学习成本,对于我们这种掉微软坑许久的童鞋来说,确实很有吸引力,在开发中最浪费时间就是设计和调试的阶段,js的语言过于自由,自由到有时候写错了都不知道,但typescript可以使用开发IDE帮助排错和调试,不得不说确实很有效率,在这之前,我在egret论坛里发了几个小游戏做练手,最近的一个<疯狂猜歌名>在素材齐备的情况下,仅用了不到1天的时间完成了开发,以

[转]MVVM架构~mvc,mvp,mvvm大话开篇

MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负 责显示.作为一种新的模式,MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的,所有的交互都发生在Presenter内部,而在MVC中View会从直接Model中读取数据而不是通过 Controller. 在MVC里,View是可以直接访问

JAVA 多线程开篇 -从按顺序打印ABC开始

序言 很想把一个问题弄清楚,特别是以前一直模模糊糊的并发编程,今天在华为OJ上碰到一道题,“顺序打印ABC的两种方法开始写起”,就以这道题开篇,希望日后有时间把并发编程的基本问题弄清楚. 问题 启动三个线程,一个线程打印A,一个打印B,一个打印C,按顺序打印ABC.....如输入3,输出就是“ABCABCABC” 程序 线程的调度是由系统操作的,要想多个线程按照要求顺序打印,就必须做好线程间的同步. 思路:四个线程循环打印,但是一个线程打印一个字母释放锁后无法确定获得锁的是哪一个线程,这就需要用

一步步学敏捷开发:开篇

一步步学敏捷开发:开篇 http://www.cnblogs.com/jetlian/p/3913687.html