Example #1
0
        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));
 }