예제 #1
0
        private void ScanSubdomains(DomainDisplay domainDisplay)
        {
            var selectedTargetDisplay = this.SelectedTargetDisplay;

            if (domainDisplay.IsSubdomainScanRunning)
            {
                return;
            }

            domainDisplay.IsSubdomainScanRunning = true;

            this.RunTask(uiThread =>
            {
                foreach (var domain in this.subdomainScanner.Scan(domainDisplay.Host))
                {
                    var host            = Domain.GetHostByDomain(domain.Domain);
                    var ipWhoisResult   = this.whoisLookup.Whois(domain.IPAddress);
                    var hostWhoisResult = this.whoisLookup.Whois(host);

                    uiThread.Execute(() =>
                    {
                        selectedTargetDisplay.AddDomain(domain.IPAddress, domain.Domain);

                        if (domain.IPAddress != "Unknown")
                        {
                            selectedTargetDisplay.AddWhoisLookup(domain.IPAddress, ipWhoisResult);
                            selectedTargetDisplay.AddWhoisLookup(host, hostWhoisResult);
                        }
                    });
                }

                foreach (var domain in this.subdomainFinder.Scan(domainDisplay.Host))
                {
                    var host            = Domain.GetHostByDomain(domain.Domain);
                    var ipWhoisResult   = this.whoisLookup.Whois(domain.IPAddress);
                    var hostWhoisResult = this.whoisLookup.Whois(host);

                    uiThread.Execute(() =>
                    {
                        selectedTargetDisplay.AddDomain(domain.IPAddress, domain.Domain);

                        if (domain.IPAddress != "Unknown")
                        {
                            selectedTargetDisplay.AddWhoisLookup(domain.IPAddress, ipWhoisResult);
                            selectedTargetDisplay.AddWhoisLookup(host, hostWhoisResult);
                        }
                    });
                }

                domainDisplay.IsSubdomainScanRunning = false;
            });
        }
예제 #2
0
        public static void Reset()
        {
            NodeDisplayMode   = NodeDisplay.Name;
            LinkDisplayMode   = LinkDisplay.Name;
            StreamDisplayMode = StreamDisplay.Name;
            DomainDisplayMode = DomainDisplay.Name;

            RenderNode       = true;
            RenderNodeText   = true;
            RenderLink       = true;
            RenderLinkText   = true;
            RenderStream     = true;
            RenderStreamText = true;
            RenderDomain     = true;
            RenderDomainText = true;
        }