我正在编写一个Windows NDIS过滤器驱动程序,并希望能够从内核中查询tcp端口的状态(是否正在使用?)。 当驱动程序使用IRQL = dispatch_level时,我是否可以使用WSK Network API或其他任何方法来查询操作系统是否正在使用某个端口?
提前致谢!
答案 0 :(得分:0)
AFAIK,没有可见的(读取:记录)方法。一种选择是使用GetTcpTable2,使用IOCTL解析并将信息发送到驱动程序。有关如何从用户模式执行此操作的示例,请参阅this question,您必须添加一些要处理的工作并将其发送给驱动程序。
也可以通过不太优选的方式对GetTcpTable2使用的API进行逆向工程并自己使用它。请参阅OSR中的讨论,包括一些线索和一些很好的理由,为什么不这样做。