2015-04-01 31 views
1

我正在編寫一個Windows NDIS篩選器驅動程序,並希望能夠從內核中查詢有關tcp端口的狀態(是否正在使用? )。 當驅動程序處於IRQL = dispatch_level時,是否可以使用WSK Network API或其他任何方法來查詢操作系統是否正在使用端口?Windows NDIS篩選器 - 如何檢查操作系統是否使用端口

在此先感謝!

回答

0

AFAIK,沒有可見的(閱讀:記錄)方法來做到這一點。一種選擇是使用GetTcpTable2,解析並使用IOCTL將信息發送給驅動程序。有關如何從用戶模式執行此操作的示例,請參閱this question,您必須添加一些工作來處理並將其發送給驅動程序。

也可以通過對GetTcpTable2使用的API進行反向工程的不太可取的方式,並自己使用它。請參閱OSR中的討論,其中包括幾條線索以及爲什麼不這樣做的一些原因。

相關問題