Есть два способа добиться этого:
- Используйте недокументированные
InternalGetTcpTableWithOwnerModule
/ InternalGetUdpTableWithOwnerModule
/ InternalGetTcp6TableWithOwnerModule
/ InternalGetUdp6TableWithOwnerModule
API, экспортированные из iphlpapi.dll.
- Запустите
netstat -b
и проанализируйте вывод.
В любом случае вам потребуются привилегии администратора, и оба способа неизбежно нарушат разные версии Windows. Скорее всего, можно создать драйвер Windows с документированными API, но это было бы много работы.
Обновление:
На самом деле также есть документированный API - GetExtendedTcpTable и GetExtendedUdpTable . Также есть статья , в которой представлен пример, как вызвать ее из C #.