简化NDIS钩子实现:探寻TCPIP协议的高效获取策略
3星 · 超过75%的资源 需积分: 10 141 浏览量
更新于2024-12-01
收藏 23KB PDF 举报
本文主要探讨了NDIS HOOK的新实现方法,这是一种在网络安全领域广泛应用的技术,特别是在专业级防火墙中用于拦截网络数据流。NDIS (Network Data Interface Specification) 是一种标准接口,用于在设备驱动程序与操作系统间传递网络数据。HOOK技术的关键在于获取特定协议对应的NDIS_PROTOCOL_BLOCK指针,这个指针允许开发者替换协议的收发函数,从而对网络流量进行监控或操作。
作者首先介绍了常见的实现方式,即通过注册新协议来获取NDIS_PROTOCOL_BLOCK指针。这种方法需要在系统中注册协议,新注册的协议句柄实际上就是NDIS_PROTOCOL_BLOCK的引用。通过遍历协议链表,可以定位到目标协议的NDIS_PROTOCOL_BLOCK。然而,这种方法针对TCP/IP协议族过于繁琐,因为大部分协议都由tcpip.sys驱动实现。
作者随后转向了更为直接的方法,即通过反汇编分析tcpip.sys驱动。他们发现NDIS_PROTOCOL_BLOCK指针实际存储在全局变量_ARPHandle中,找到这个全局变量的地址是关键。尽管可以将全局变量的偏移量作为常量使用,但作者在此处强调这是为开拓思路,提供了另一种可能的查找策略。
文章中提到的IPDelayedNdisReEnumerateBindings是tcpip.sys中的一个导出函数,这个函数内部包含_ARPHandle的地址。因此,通过深入理解这个函数的工作原理,开发者可以利用它来探测_ARPHandle的位置,从而快速定位TCP/IP协议的NDIS_PROTOCOL_BLOCK指针。
这篇文章提供了一种更为高效的方法来获取NDIS HOOK所需的核心数据结构,这对于那些需要对TCP/IP协议进行深入拦截或监控的网络安全专家来说具有重要的实用价值。通过深入了解驱动代码和系统内部机制,开发人员能够设计出更加灵活、精确的网络监控和控制解决方案。
2022-09-19 上传
2022-09-14 上传
2009-12-11 上传
2022-09-23 上传
2021-04-16 上传
ejoyc
- 粉丝: 3
- 资源: 4
最新资源
- 计算机毕业设计之ssh杰信商贸
- 目前最好的java版支付sdk 支付方式包括支付宝、微信 功能包括支付、退款.zip
- 行业文档-设计装置-一种自保温墙体及其建筑工艺.zip
- hexo-generator-async:异步hexo主题的生成器json数据
- CheckSSDTHOOK_nosew78_rootkit_hook_
- 黑色简单商务整站企业网站模板-黑色 简单 商务 整站 企业 html 幻灯 标准.rar
- lahacks_workinggroup:秘密的事情
- 3DModelingRL:通过强化学习对3D形状进行建模
- three-gltf-loader:three.js的GLTFLoader包装为模块,易于导入
- TCN多输入单输出时间序列预测,Matlab实现风电功率预测,完整源码和数据
- OV6620数字摄像头_智能家居物联网开发PCB设计方案.rar
- 黑色简单大图工作室商务企业网站模板-黑色 简单 大图 工作室 商务 企业 幻灯.rar
- 行业文档-设计装置-纸机更换辊子速度标定方法.zip
- 左倾堆.zip
- 水环式真空泵的选择和选择时注意事项Word版.rar
- test-examples