科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件利用VC设计Win2000/XP下的防火墙

利用VC设计Win2000/XP下的防火墙

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

如果你决定开发LINUX下的防火墙,你会找到很多免费的信息与源代码。

作者:PowerCPP编译 来源:论坛 2007年10月19日

关键字: VC Win2000/XP 防火墙

  • 评论
  • 分享微博
  • 分享邮件
介绍

  如果你决定开发LINUX下的防火墙,你会找到很多免费的信息与源代码。但如果开发WINDOWS平台下的防火墙会有点困难,找到相关信息与代码都简直是不可能的任务。

  因此我决定写这篇文章介绍在WINDOWS 2000/XP下开发防火墙的简单方法。

  背景

  在WINDOWS 2000 DDK中,微软包含了称为Filter-Hook Driver的新型网络驱动。你可以使用它来过滤所有进出接口的数据。

  因为关于此的文档很少并没有代码,我把使用它的成功方法写入文章,希望帮助你理解这种简单的方法。

  Filter-Hook 驱动

  像我刚才所说的,在Microsoft Windows 2000 DDK中介绍了Filter-Hook Driver, 事实上,它不是一种新的网络驱动,它只是扩展了IP过滤驱动(IP Filter Driver)的功能。

  实际上,Filter-Hook Driver并不是网络驱动,它是一种内核模式驱动(Kernel Mode Driver). 大致上是这样的:在Filter-Hook Driver中我们提供回调函数(callback),然后使用IP Filter Driver注册回调函数。这样当数据包发送和接收时,IP Filter Driver会调用回调函数。那么我们到底该如何实现这些步骤呢?总结如下:

  1) 建立Filter-Hook Driver.我们必须建立内核模式驱动,你可以选择名称,DOS名称和其它驱动特性,这些不是必须的,但我建议使用描述名称。

  2) 如果我们要安装过滤函数,首先我们必须得到指向IP Filter Driver的指针,这是第二步。

  3) 我们已经取得了指针,现在我们可以通过发送特殊的IRP来安装过滤函数,该"消息"传递的数据包含了过滤函数的指针。

  4) 过滤数据包!!!

  5) 当我们想结束过滤,我们必须撤销过滤函数。这通过传递null指针作为过滤函数指针来实现。

  哦,只有五个步骤,这看起来非常容易,但...如何生成内核模式驱动?如何得到IP Filter Driver指针,如何..... 是的,请稍等,我现在将解释这些步骤并提供源代码
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章