Процесс Windows и IP-адрес, к которому он подключен - PullRequest
0 голосов
/ 12 сентября 2009

Я пытаюсь получить IP-адрес, к которому подключен процесс в C #. Есть ли простой способ сделать это?

1 Ответ

3 голосов
/ 12 сентября 2009

Есть два способа добиться этого:

  1. Используйте недокументированные InternalGetTcpTableWithOwnerModule / InternalGetUdpTableWithOwnerModule / InternalGetTcp6TableWithOwnerModule / InternalGetUdp6TableWithOwnerModule API, экспортированные из iphlpapi.dll.
  2. Запустите netstat -b и проанализируйте вывод.

В любом случае вам потребуются привилегии администратора, и оба способа неизбежно нарушат разные версии Windows. Скорее всего, можно создать драйвер Windows с документированными API, но это было бы много работы.

Обновление:

На самом деле также есть документированный API - GetExtendedTcpTable и GetExtendedUdpTable . Также есть статья , в которой представлен пример, как вызвать ее из C #.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...