public static string FindProcessNameByUDpConnection(IPAddress sourceAddress, IPAddress destinationAddress, ushort sourcePort, ushort destinationPort, IPAddress localIP) { List <UdpRecordPid> udpRecords = null; ushort port; IPAddress address; if (localIP == sourceAddress) { port = sourcePort; address = sourceAddress; } else { port = destinationPort; address = destinationAddress; } if ((udpRecords = NetworkStatisticData.GetAllUdpConnections()) != null) { UdpRecordPid record = udpRecords.Where(r => r.LocalPort == port).SingleOrDefault(); if (record != null) { return(record.PID.ToString()); } } return(String.Empty); }
private ListViewItem InitUdpItem(UdpRecordPid udprecord) { if (udprecord == null) return null; ListViewItem item = new ListViewItem(udprecord.LocalPort.ToString()); item.SubItems.Add(udprecord.Protocol); item.SubItems.Add(udprecord.LocalAddress.ToString()); item.SubItems.Add("0.0.0.0"); item.SubItems.Add("0.0.0.0"); item.SubItems.Add("0"); item.SubItems.Add(udprecord.PID.ToString()); item.SubItems.Add(udprecord.ProcessName); item.Name = udprecord.GetHashCode().ToString(); return item; }