Beispiel #1
0
        private void ScanAsync()
        {
            try
            {
                hostCount = 0;
                Runtime.MessageCollector.AddMessage(MessageClass.InformationMsg, $"Tools.PortScan: Starting scan of {_ipAddresses.Count} hosts...", true);
                foreach (var ipAddress in _ipAddresses)
                {
                    BeginHostScanEvent?.Invoke(ipAddress.ToString());

                    var pingSender = new Ping();

                    try
                    {
                        pingSender.PingCompleted += PingSender_PingCompleted;

                        /* https://msdn.microsoft.com/en-us/library/0e6kc029(v=vs.110).aspx
                         * Default timeout is 5 seconds... That's a bit long...
                         */
                        //TODO Make timeout configurable...
                        pingSender.SendAsync(ipAddress, /*userToken:*/ ipAddress);
                    }
                    catch (Exception ex)
                    {
                        Runtime.MessageCollector.AddMessage(MessageClass.WarningMsg, $"Tools.PortScan: Ping failed for {ipAddress} {Environment.NewLine} {ex.Message}", true);
                    }
                }
            }
            catch (Exception ex)
            {
                Runtime.MessageCollector.AddMessage(MessageClass.WarningMsg, $"StartScanBG failed (Tools.PortScan) {Environment.NewLine} {ex.Message}", true);
            }
        }
        private void ScanAsync()
        {
            try
            {
                hostCount = 0;
                Runtime.MessageCollector.AddMessage(MessageClass.InformationMsg, $"Tools.PortScan: Starting scan of {_ipAddresses.Count} hosts...", true);
                foreach (IPAddress ipAddress in _ipAddresses)
                {
                    BeginHostScanEvent?.Invoke(ipAddress.ToString());

                    Ping pingSender = new Ping();

                    try
                    {
                        pingSender.PingCompleted += PingSender_PingCompleted;
                        pingSender.SendAsync(ipAddress, ipAddress);
                    }
                    catch (Exception ex)
                    {
                        Runtime.MessageCollector.AddMessage(MessageClass.WarningMsg, $"Tools.PortScan: Ping failed for {ipAddress} {Environment.NewLine} {ex.Message}", true);
                    }
                }
            }
            catch (Exception ex)
            {
                Runtime.MessageCollector.AddMessage(MessageClass.WarningMsg, $"StartScanBG failed (Tools.PortScan) {Environment.NewLine} {ex.Message}", true);
            }
        }