Esempio n. 1
0
 public TcpProcessRecord(IPAddress localIp, IPAddress remoteIp, ushort localPort,
                         ushort remotePort, int pId, MibTcpState state, bool isValidProcess) : base(localIp, localPort, pId, isValidProcess)
 {
     this.RemoteAddress = remoteIp;
     this.RemotePort    = remotePort;
     this.State         = state;
 }
        public TcpProcessRecord(IPAddress localIp, IPAddress remoteIp, ushort localPort,
                                ushort remotePort, int pId, MibTcpState state)
        {
            LocalAddress  = localIp;
            RemoteAddress = remoteIp;
            LocalPort     = localPort;
            RemotePort    = remotePort;
            State         = state;
            ProcessId     = pId;
            ConnectionViewerForm.HostDetailsRecord rec;


            // Getting the process name associated with a process id.
            if (Process.GetProcesses().Any(process => process.Id == pId))
            {
                ProcessName = Process.GetProcessById(ProcessId).ProcessName;
            }

            if (remoteIp.Equals(IPAddress.Parse("0.0.0.0")))
            {
                return;
            }

            if (HostDetails.IP.IsAddressInSubnet(remoteIp.ToString(), "127.0.0.0", "255.0.0.0"))
            {
                return;
            }

            if (HostDetails.IP.IsAddressInSubnet(remoteIp.ToString(), "192.168.0.0", "255.255.0.0"))
            {
                return;
            }

            if (HostDetails.IP.IsAddressInSubnet(remoteIp.ToString(), "10.0.0.0", "255.0.0.0"))
            {
                return;
            }

            lock (ConnectionViewerForm.Lock)
            {
                if (ConnectionViewerForm.HostInfoMap.ContainsKey(remoteIp.ToString()))
                {
                    rec = ConnectionViewerForm.HostInfoMap[remoteIp.ToString()];

                    if (rec.Done)
                    {
                        RemoteCountry    = rec.WhoisRecord.Country;
                        RemoteOrgName    = rec.WhoisRecord.Org;
                        RemoteDomainName = rec.DnsRecord;
                    }
                    return;
                }

                // else

                ConnectionViewerForm.HostDetailsQueue.Enqueue(remoteIp.ToString());
                ConnectionViewerForm.HostInfoMap[remoteIp.ToString()] = new ConnectionViewerForm.HostDetailsRecord();
            }
        }
Esempio n. 3
0
 public TcpConnectionInfo(Protocol protocol, IPAddress localAddress, IPAddress remoteIp, ushort localPort,
                          ushort remotePort, int pId, MibTcpState state, string processName)
     : base(protocol, localAddress, localPort, pId, processName)
 {
     RemoteAddress = remoteIp;
     RemotePort    = remotePort;
     State         = state;
 }
Esempio n. 4
0
 public TcpProcessRecord(uint localIp, uint remoteIp, ushort localPort,
                         ushort remotePort, int pId, MibTcpState state)
 {
     LocalAddress  = localIp;
     RemoteAddress = remoteIp;
     LocalPort     = localPort;
     RemotePort    = remotePort;
     State         = state;
     ProcessId     = pId;
 }
Esempio n. 5
0
 public TcpConnection(Protocol protocol, IPAddress localIp, IPAddress remoteIp, ushort localPort,
                      ushort remotePort, int pId, MibTcpState state)
 {
     Protocol      = protocol;
     LocalAddress  = localIp;
     RemoteAddress = remoteIp;
     LocalPort     = localPort;
     RemotePort    = remotePort;
     State         = state;
     ProcessId     = pId;
 }
Esempio n. 6
0
 internal TcpProcessRecord(IPAddress localIp, IPAddress remoteIp, ushort localPort,
                           ushort remotePort, int pId, MibTcpState state)
 {
     LocalAddress  = localIp;
     RemoteAddress = remoteIp;
     LocalPort     = localPort;
     RemotePort    = remotePort;
     State         = state;
     ProcessId     = pId;
     Protocol      = "TCP";
     ProcessName   = Process.GetProcessById(pId).ProcessName;
 }
Esempio n. 7
0
 public TcpConnection(Protocol protocol, IPAddress localIp, IPAddress remoteIp, ushort localPort,
                      ushort remotePort, int pId, MibTcpState state, Process[] processes)
 {
     Protocol      = protocol;
     LocalAddress  = localIp;
     RemoteAddress = remoteIp;
     LocalPort     = localPort;
     RemotePort    = remotePort;
     State         = state;
     ProcessId     = pId;
     ProcessName   = processes.Where(process => process.Id == pId).FirstOrDefault().ProcessName;
 }
Esempio n. 8
0
 public TcpProcessRecord(IPAddress localIp, IPAddress remoteIp, ushort localPort,
                         ushort remotePort, int pId, MibTcpState state)
 {
     LocalAddress  = localIp;
     RemoteAddress = remoteIp;
     LocalPort     = localPort;
     RemotePort    = remotePort;
     State         = state;
     ProcessId     = pId;
     if (Process.GetProcesses().Any(process => process.Id == pId))
     {
         ProcessName = Process.GetProcessById(ProcessId).ProcessName;
     }
 }
Esempio n. 9
0
 public TcpProcessRecord(IPAddress localIp, IPAddress remoteIp, ushort localPort,
                         ushort remotePort, int pId, MibTcpState state)
 {
     LocalAddress  = localIp;
     RemoteAddress = remoteIp;
     LocalPort     = localPort;
     RemotePort    = remotePort;
     State         = state;
     ProcessId     = pId;
     // Getting the process name associated with a process id.
     //if (Process.GetProcesses().Any(process => process.Id == pId))
     //{
     //    ProcessName = Process.GetProcessById(ProcessId).ProcessName;
     //}
 }
Esempio n. 10
0
        // udp列表和tcp列表合并
        public List <TcpProcessRecord> castUdpToTcp(List <UdpProcessRecord> udpList, List <TcpProcessRecord> tcpList)
        {
            TcpProcessRecord tcp;

            IPAddress   LocalAddress;
            ushort      LocalPort;
            IPAddress   RemoteAddress = IPAddress.None;;
            ushort      RemotePort    = 0;;
            MibTcpState State         = MibTcpState.UDP;;
            int         ProcessId;
            string      ProcessName;

            foreach (UdpProcessRecord udp in udpList)
            {
                LocalAddress = udp.LocalAddress;
                LocalPort    = (ushort)udp.LocalPort;
                ProcessId    = udp.ProcessId;
                ProcessName  = udp.ProcessName;
                tcp          = new TcpProcessRecord(LocalAddress, RemoteAddress, LocalPort, RemotePort, ProcessId, State);
                tcpList.Add(tcp);
            }
            return(tcpList);
        }