I need a way of, given a tcp port number, discover if there's some process using that port (and get the process id).
Something like netstat does but programmatically.
This is probably too late for the original poster but someone else may find it useful. You can use the PowerShell class in the System.Management.Automation namespace.
private static IEnumerable<uint> ProcessesUsingPorts(uint id)
{
PowerShell ps = PowerShell.Create();
ps.AddCommand("Get-NetTCPConnection").AddParameter("LocalPort", id);
return ps.Invoke().Select(p => (uint)p.Properties["OwningProcess"].Value);
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With