2015-04-01 5 views
1

Я пишу драйвер фильтра Windows NDIS и хотел бы иметь возможность запрашивать изнутри ядро ​​о состоянии tcp-порта (он используется?). Когда драйвер находится в IRQL = dispatch_level, могу ли я использовать WSK Network API или что-нибудь еще для запроса, если порт используется операционной системой?Windows NDIS filter - как проверить, используется ли порт операционной системой

Заранее благодарен!

ответ

0

AFAIK, нет видимых (читайте: документально) способ для этого. Один из вариантов - использовать GetTcpTable2, проанализировать и отправить информацию драйверу с помощью IOCTL. См. this question для примера, как это сделать из usermode, вам придется добавить некоторую работу для обработки и отправить ее драйверу.

Также возможно использовать менее предпочтительный способ обратного проектирования API, используемого GetTcpTable2, и использовать его самостоятельно. См. Обсуждение в OSR, включая несколько потенциальных клиентов и несколько веских причин, почему бы не сделать это.