- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我使用 NdisRegisterProtocol()
来注册协议(protocol)驱动程序,并使用 _NDIS_OPEN_BLOCK
和 _NDIS_PROTOCOL_BLOCK
结构来 Hook ReceivePacketHandler
成功,使用 MyRecivePacket() 而不是 NDIS 接收数据包功能,当我打开一个网站时, MyRecievePacket()
将运行。
我的问题是:当我使用 IE
打开网站(如 www.stackoverflow.com
)时,我如何 Hook SendPacketsHandler
以获取此数据包并获取url www.stackoverflow.com
字符串。也就是说,如何在内核态下抓取url。谢谢
最佳答案
这不是你通常应该做的事情,URL
数据属于网络堆栈的应用层,不应该被驻留在内核空间中的较低层访问。在此处查看有关 Windows 网络体系结构中协议(protocol)驱动程序分层的更多信息:http://msdn.microsoft.com/en-us/library/windows/hardware/ff571073(v=vs.85).aspx
但是,通过位于其之上的协议(protocol)(例如 HTTP
、TCP)删除在到达协议(protocol)驱动程序的过程中添加到数据包的 header 可能是可能的
、IP
等。您需要知道在前往协议(protocol)驱动程序的途中应用于数据包的确切协议(protocol)。标题是递增添加的,对于每个底层,来自上层的输入是一个不透明的数据 block (由上层数据和标题组成)。例如,您的数据包可能以纯数据开始,在开始时向其添加 HTTP
header ,之后添加 TCP
header ,然后添加 IP
header 那。您需要以相反的顺序删除 header 以恢复原始数据。
请注意,这并不总是可行的,因为下行协议(protocol)可能会更改数据,例如通过加密它。在这种情况下,您将无法通过执行反向操作(例如解密)来提取原始数据。
关于c - NDIS 钩子(Hook) sendPacketsHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13581939/
我有 NDIS 6.2 支持微型端口驱动程序。现在我想将 NDIS 6.2 移植到 NDIS 6.3 。 https://msdn.microsoft.com/en-us/library/window
NDIS 6.0 和 NDIS 6.30 之间的主要区别是什么?这是我知道的信息, 在 NDIS 6.0 的情况下,没有像 WWAN 媒体那样的东西。 WWAN 特定的 OID 在 NDIS 6.0
我目前正在尝试使用来自 windows driver samples 的 NDIS 过滤器驱动程序发送我自己的数据包. 我想我必须用函数 FilterSendNetBufferLists 发送数据包.
我正在尝试使用 Visual Studio 2012 中提供的 WDK 工具修改以太网驱动程序。 WDK 中提供的示例包括“微型端口适配器”和“NDIS 轻型过滤器”等。我仍处于驱动程序编写的最初阶段
我正在编写一个程序 (C++),它将在 Windows 操作系统上使用 Wi-fi 检测我周围的设备。 为此,我正在使用 Netmon API,我需要将无线网络适配器切换到监控模式。 我读到 Netm
我知道我可以使用 Windows PowerShell Get-netadapter|选择名称,ndisversion 将结果输出到一个文本文件,并从那里解析数据,但这有点老套。我想知道是否有办法使用
我已经在 Windows 7/8 上构建并安装了 netvmini。而且我能够从一个 IP ping 到另一个 IP。但我对其下面列出的功能有一些疑问: 驱动程序放置在哪一层 w.r.t OSI 层。
我想在虚拟微型端口驱动程序上添加多播支持。我有一个过滤驱动程序绑定(bind)到每个物理 NIC 上。根据微软文档 https://msdn.microsoft.com/en-us/library/w
我正在尝试以编程方式编写 C++ 代码来安装 NDIS 6.0 轻量级筛选器驱动程序。在查看了 WinDDK、在线示例和 MSDN 文档之后,我最终得到了下面的代码示例。 (为清楚起见,跳过了错误处理
我正在尝试定义一些自定义事件查看器事件。我一直按照 MSDN 和其他一些在线资源中的说明进行操作,但事件查看器找不到关联的文本数据。 这是我所做的: 为带有事件代码和相关字符串的消息编译器创建了一个输
我正在编写一个 Windows NDIS 过滤器驱动程序,并希望能够从内核内部查询有关 tcp 端口的状态(是否正在使用?)。当驱动程序处于 IRQL = dispatch_level 时,我可以使用
我使用 NdisRegisterProtocol() 来注册协议(protocol)驱动程序,并使用 _NDIS_OPEN_BLOCK 和 _NDIS_PROTOCOL_BLOCK 结构来 Hook
我是 WDD 的初学者。我需要制作一个网络驱动程序过滤器,根据签名丢弃某些数据包,以保护系统免受程序漏洞的影响。现在,我只是想获取我需要的数据包并找到我的签名。我使用 Metasploit Frame
背景:我需要创建一个 NDIS 过滤器中间驱动程序。该驱动程序将在收集元数据(主要是时间信息)的同时传递所有流量。驱动程序将通过插入自己的包含元数据的数据包并将它们向上传递到堆栈,将此信息导出到用户应
我正在 Linux 中开发一个尽可能接近实时的系统,并且需要在收到特定数据包后立即在 TCP 数据包中发送大约 600-800 字节。 为了获得尽可能好的延迟,我希望这个数据包直接从内核发送,而不是接
我正在开发本质上是专门的防火墙应用程序。该解决方案需要兼容 32 位和 64 位。我的公司想保留当前的程序界面,它是用 C# 编写的。 我需要的是:一种监视和操纵系统上所有网络流量的方法。我的研究使我
我正在开发 WinPcap,一个 NDIS 轻量级过滤器 驱动程序。为了捕获环回数据包,我还制作了一个Windows Filtering Platform (WFP) callout驱动程序。我已将这
大家。又是我,那个将 WinPcap 从 NDIS 6 协议(protocol)移植到 NDIS 6 过滤器的人:) 我遇到了一个 bug,困了我两天。是这样的:我安装了npf6x.sys驱动程序(原
我尝试开发 NDIS lwf 驱动程序来过滤特定数据包。 我成功在Windows 10中运行了我开发的驱动程序,这是用于调试的测试模式。 我将窗口测试模式更改为正常模式,然后在非测试模式的窗口中运行驱
我正在学习 Windows NDIS 中级 (IM) 驱动程序开发。我在安装时遇到问题。我总是需要手动安装它。 我的问题是如何以编程方式安装 NDIS 中间 (IM) 驱动程序 问候 纳瓦尼思 最佳答
我是一名优秀的程序员,十分优秀!