如何使用NDIS筛选器驱动程序从协议层重定向TCP数据包?

问题描述

我正在为Windows编写NDIS筛选器驱动程序。现在我遇到了问题。

我将TCP数据包重定向到安装了NDIS筛选器驱动程序的当前PC上的TCP服务器。例如,当前PC的IP地址为192.168.1.1,并且其上有一个TCP服务器正在监听端口8000

用户在IE浏览器中输入URL:http://192.168.1.10/xxxx,而我的NDIS筛选器驱动程序可以绝对看到TCP SYN数据包。我将数据包的目标IP地址修改为192.168.1.1,并将目标端口修改为8000,因为我希望数据包可以重定向到本地TCP服务器。

然后,我使用NdisFIndicateReceiveNetBufferLists()将NBL注入接收路径,而不是将其发送到底层的微型端口驱动程序。

但是,似乎本地TCP服务器永远无法获得重定向的SYN数据包。我不知道哪里出了问题。有人会帮助我还是给我一些建议?

非常感谢您!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)