我想为
Windows写一个数据包嗅探器和编辑器.我想能够看到所有进入和离开系统的数据包的内容,并可能修改它们.任何语言都很好,但我希望它运行得足够快,不会对系统造成负担.
我已经阅读了一些关于WinPcap的文档,但文档声称您不能使用WinPcap来创建防火墙,因为它不能丢弃数据包.什么工具可以帮我写这个软件?
在那里,做到:-)回到2000年我的第一个Windows程序是一个
filter hook driver.
我所做的是实现过滤器钩子驱动程序,并编写一个用户空间应用程序,该应用程序准备了一个可以允许的内容和不允许的过滤器表.当您了解最初的蓝屏设置(见下文内核模式下的调试提示)时,过滤器模式驱动程序非常容易使用…它将给每个数据包提供给您编写的函数,并根据返回代码将其丢弃或让它通过.
在这个级别的Unfortunatley数据包是QUITE原始的,片段不重新组合,它看起来更像是“网卡”的东西(但没有以太网标题).所以你会有相当糟糕的时间解码数据包过滤与该解决方案.
还有防火墙挂钩驱动程序,如本codeproject article所述.
如果您使用的是Vista或Server 2008,那么最好先看看WFP(Windows Filtering Platform),这似乎是编写防火墙的一天的强制API.
几分钟前我不了解Google,除了google googled为过滤器钩子驱动程序.
更新:忘记调试提示:
Sysinternals DbgView显示内核模式的DbgPrint输出,更重要的是 – 它也可以从转储文件中读取最后一个蓝屏.所以把你的代码用dbgprint来代码,如果它的蓝图只是将转储加载到dbgview中,看看它死了之前发生了什么…非常有用.使用这个我没有内核调试器管理.