How do I get process name of an open port in C#?
http://www.codeproject.com/KB/IP/iphlpapi.aspx might also help