2001年01月13日 14:51:00

本章说明过滤钩子驱动程序. 一个过滤钩子驱动程序是用于操作系统中的一个IP过滤驱动程序的上下文
中处理或过滤网络包,过滤钩子驱动程序扩展了IP过滤驱动程序的功能。下面主题描述了过滤钩子驱动程序
的一些特性, 解释怎样建立过滤钩子并列出实现一个过滤钩子驱动程序相关的输入输出控制代码函数的参考
信息:
  1.1 关于过滤钩子驱动程序
  一个过滤钩子驱动程序是一个用于过滤网络包的核心模式驱动程序. 一个过滤钩子驱动程序扩展系统提
供的IP过滤驱动程序的功能。一个过滤钩子驱动程序仅仅只能安装于2000及其之后的系统上。仅仅只有一个
过滤钩子驱动程序能被安装在系统之上并且被IP过滤驱动程序使用。如果一个过滤钩子驱动程序的指向用于
IP过滤驱动程序的扩展钩子指针为空,那么他只能使用IP过滤驱动程序注册自己。一旦一个过滤钩子驱动程
序使用了IP过滤驱动程序注册自己,IP过滤程序给这个IP过滤程序的扩展钩子分派文件对象,用这种方法,
这个IP过滤驱动程序确保自己只能接受和使用单个的过滤钩子驱动程序.

  1.2 建立一个过滤钩子驱动程序
  一个过滤钩子驱动程序在包过滤API不能满足过滤网络包时候来建立。用户模式应用程序使用这些API来
建立和管理系统在IP过滤驱动程序中提供的输出和输入过滤器。更多API信息查看SDK。
  一个过滤钩子驱动程序是在核心模式驱动程序下开发的. 另外, 一个过滤钩子驱动程序完成一个过滤钩
子回调函数并在系统提供的IP过滤驱动程序中注册这个回调函数. 这个回调函数被看作一个过滤钩子。这个
IP过滤驱动程序以后使用这个过滤钩子以决定怎样处理到达和输出的包.

  下面的章节将说明怎样建立一个过滤钩子驱动程序
  1.2.1 建立过滤钩子
  一个过滤钩子在执行一个PacketFilterExtensionPtr类型的函数时被建立。
  当一个过滤钩子驱动程序在系统提供的IP过滤驱动程序中注册自己的过滤钩子实体指针时 ,这个过滤钩子
驱动程序给他的过滤钩子提供符号地址. 因为一个过滤钩子驱动程序提供这个地址, 而不是名字,这个过滤钩
子可以选择任何名字。当然,好的程序习惯是用其基本的功能来命名这个过滤钩子的名字。
  一个过滤钩子对到达与发出的包进行特定的动作,他将与IP过滤驱动程序发送给过滤钩子来检查怎样的包
将进一步处理的信息与到达的特定信息做比较。在过滤钩子检查包以后,他将使用PF_FORWARD, PF_DROP, 或
PF_PASS返回响应代码给IP过滤驱动程序怎样处理的信息:
  PF_FORWARD
  规定给IP过滤驱动程序马上返回转发响应给IP栈. 对于本地包, IP转发他们到栈顶. 如果包目标地址为外
部机器并且路由允许, IP路由他们到对应的路由.
  PF_DROP
  规定给IP过滤驱动程序马上返回drop响应给IP栈. IP将drop这个包.
  PF_PASS
  规定给IP过滤驱动程序过滤这个包并且返回这个结果响应给IP栈. IP过滤驱动程序怎样处理这个过滤包决
定于他怎样在Packet Filtering API中做的设置. 过滤钩子如果他检查到他不能处理的包但将允许IP过滤驱动
程序过滤包的时候返回这个pass响应。

  1.2.2 过滤钩子例子
  本节显示了一个简单的过滤钩子基于某几个固定的包属性来构成forward和drop检查. 这个过滤钩子指定
drop TCP包而forward其他协议的包.
  注意:如果特定IP地址或TCP/UDP端口的包必须被过滤,考虑使用包过滤API替代建立一个用户模式的应用
程序。这些API优化了系统提供的IP过滤驱动程序处理包而不需要在其上关联一个过滤钩子驱动程序.

  #define PROT_TCP  6
  // Drop all TCP packets
  PF_FORWARD_ACTION
  DropTcpPackets(
    unsigned char  *PacketHeader,
    unsigned char  *Packet,
    unsigned int  PacketLength,
    unsigned int  RecvInterfaceIndex,
    unsigned int  SendInterfaceIndex,
    IPAddr     RecvLinkNextHop,
    IPAddr     SendLinkNextHop
    )
  {
  if (PacketHeader-{
    return PF_DROP;
  }
  return PF_FORWARD;
 }

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=3314

过滤钩子驱动程序一(微软DDK文档,FLASHSKY翻译)相关推荐

  1. 微软语音AI技术与微软听听文档小程序实践 | AI ProCon 2019

    演讲嘉宾 | 赵晟.张鹏 整理 | 伍杏玲 来源 | CSDN(ID:CSDNnews) [导语]9 月 7 日,在CSDN主办的「AI ProCon 2019」上,微软(亚洲)互联网工程院人工智能语 ...

  2. 微软语音 AI 技术与微软听听文档小程序实践 | AI ProCon 2019

    演讲者 | 赵晟.张鹏 整理 | 伍杏玲 出品 | CSDN(ID:CSDNnews) [CSDN 编者按]9 月 7 日,在CSDN主办的「AI ProCon 2019」上,微软(亚洲)互联网工程院 ...

  3. office 里的链接如何显示成图片_微软Office文档 | Office小程序介绍(一)

    微软中国Office 365 for WeChat团队开发了四款好用方便的小程序--「微软Office文档」「微软听听文档」「微软AI识图」「微软海报」.它们的受众已经十分庞大,但相信仍旧有不少人与其 ...

  4. 如何在谷歌chrome中打开、编辑、保存微软Office文档?

    历史背景 在2015年的主流浏览器版本中,因为可以直接调用微软开源的 ActiveX控件,可以实现微软Office软件的在线编辑及审阅功能,但是从2015年开始,各大主流浏览器先后取消了对 NPAPI ...

  5. ReactiveX文档中文翻译

    ReactiveX/RxJava文档中文版 项目地址:https://github.com/mcxiaoke/RxDocs,欢迎Star和帮忙改进. 有任何意见或建议,到这里提出 Create New ...

  6. 如何将PDF文档进行翻译?PDF文档翻译简单方法介绍

    如今PDF格式的文档运用的十分广泛,有时候由于工作的需要,要求我们将一篇PDF中文文档翻译成英文,这简直是让人崩溃啊,更何况是PDF格式的文件又不像word一样可以直接复制粘贴进浏览器中翻译,所以很多 ...

  7. Word文档怎么翻译?翻译word文档简单步骤讲解

    将文档进行翻译是我们经常遇到的事情,市面上也出现了很多翻译文档的工具,但是使用起来总觉得不是那么好用,一款易上手的工具对我们来说是非常重要的,今天的课堂就是小编给大家分享使用工具将word文档进行翻译 ...

  8. Word文档快速翻译的方法,一分钟学会

    公司的业务比较多,当然也涉及的有国外的项目,发给对方公司的文件也需要英文的,可是自己撰写的都是中文内容,一句句的翻译又很麻烦,该怎么办?别急,今天小编教大家一个Word文档快速翻译的方法,一起来看看! ...

  9. Word文档怎样翻译?Word文档翻译方法大分享

    大家平时会被这种情况所困扰吗?在交接工作的时候,接收到一个Word文档,却发现是英文的,奈何自己的英语基础不够,难以完全理解文档里面的内容.这种情况我们该如何解决呢?别担心,今天教你Word文档怎么翻 ...

  10. 实用的Word文档翻译方法分享,让Word文档快速翻译

    工作之后才发现英语还是很重要的,办公的时候需要将Word文档翻译成英文的,自己一句句翻译还是很费时间的,这就可以借助文档翻译器进行翻译,让Word文档快速翻译的方法你要学嘛?需要的话就继续看看下面的介 ...

最新文章

  1. python爬虫工程师-Python爬虫工程师
  2. 让mysql返回的结果按照传入的id的顺序排序
  3. jwt, json web token
  4. com.android.tools.build:gradle:2.3.3,关于com.android.tools.build:gradle:3.4.2的构建问题
  5. 解决Struts2的配置文件struts.xml文件无提示问题
  6. Android学习笔记(24):进度条组件ProgressBar及其子类
  7. Gitlab+Docker实现持续集成(CI)与持续部署(CD)
  8. 《音乐达人秀:Adobe Audition实战200例》——实例5 将电视音乐节目伴音转录到电脑里...
  9. Linux命令卸载JDK并装新JDK
  10. **JAVA实习周记(第三周):哦**
  11. C语言学习方法、学习平台及项目推荐
  12. wex5 ajax,关于Ajax请求 - WeX5开发者论坛 - 起步软件技术论坛 - Powered by Discuz!
  13. 《中国通史》学习记录
  14. Android 图片压缩的几种方法
  15. visual studio(vs)2022如何在解决方案中自动配置文件路径(如何向解决方案中批量添加文件)(如何将修改路径之后的的源文件添加到解决方案中)
  16. 使用Python获取国际版淘宝AliExpress的商品信息
  17. Σoφoς:简单但有效的前向安全对称可搜索加密
  18. 关掉MyEclipse checking for updates(检查更新)
  19. 【逻辑与计算理论】从逻辑到计算的转变之路
  20. 缓冲区溢出之栈溢出利用(手动编写无 payload 的 Exploit)

热门文章

  1. IDEA设置背景颜色(护眼色)
  2. 微信小程序砍价功能php,微信小程序分享转发实现砍价功能
  3. iOS swift 2048小游戏开发教程(一)
  4. 图像中值滤波器python实现
  5. 脑电EEG代码开源分享 【2.预处理-静息态篇】
  6. linux vi 替换字符串,Linux vi编辑器如何查找与替换关键字
  7. 2048+html源码之家,前端纯原生代码实现2048
  8. comps电磁场模拟软件_|Mentor Graphics IE3D(电磁场仿真软件)下载v15.0官方版 - 欧普软件下载...
  9. 实现国标GB/T28181流媒体服务解决方案EasyGBS之GB35114和GB28181的注册信令流程简介
  10. vivado仿真脚本生成