public static string GetProcessNameByTcpConnection(IPAddress sourceAddress, IPAddress destinationAddress, ushort sourcePort, ushort destinationPort, IPAddress localIP) { List <TcpRecord> tcpRecords = null; ushort port; IPAddress address; if (localIP == sourceAddress) { port = sourcePort; address = sourceAddress; } else { port = destinationPort; address = destinationAddress; } if ((tcpRecords = NetworkHelper.GetTcpConnections()) != null && tcpRecords.Count > 0) { TcpRecord record = tcpRecords.Where(r => r.LocalPort == port).SingleOrDefault(); if (record != null) { return(record.PID.ToString()); //if (record.PID == 0) // return "System"; //else //{ // Process proc = null; // if ((proc = GetProcessByID(record.PID)) != null) // return proc.ProcessName; // else // return "N/A"; //} } } return(String.Empty); }
public override int GetHashCode() { return(NetworkHelper.GetHash(Protocol, (int)LocalPort, PLength, LocalAddress.Address, 0, PID, 0)); }