示例#1
0
        private void SearchEventsGeneric(WebSearcher wsSearch)
        {
            try
            {
                foreach (int i in checkedListBoxExtensions.CheckedIndices)
                {
                    var strExt = checkedListBoxExtensions.Items[i] as string;
                    // remove '*' marked extensions
                    if (strExt == null)
                    {
                        continue;
                    }
                    strExt = strExt.Replace("*", string.Empty);
                    wsSearch.AddExtension(strExt);
                }
                wsSearch.Site = domain.Domain;

                wsSearch.SearcherLinkFoundEvent += Program.FormMainInstance.panelMetadataSearch.HandleLinkFoundEvent;
                wsSearch.SearcherLogEvent       += Program.FormMainInstance.panelMetadataSearch.WebSearcherLogEvent;
                wsSearch.SearcherStartEvent     += HandleSearchStartEvent;
                wsSearch.SearcherEndEvent       += HandleCustomSearchEndEvent;

                wsSearch.GetLinks();
                wsSearch.Join();
            }
            catch (ThreadAbortException)
            {
                wsSearch.Abort();
            }
        }
示例#2
0
        private void CaptureSearchResults(object sender, EventsThreads.CollectionFound <Uri> e)
        {
            WebSearcher searcher = (WebSearcher)sender;

            foreach (var group in e.Data.GroupBy(p => p.Host))
            {
                if (CheckToSkip())
                {
                    searcher.Abort();
                }

                try
                {
                    AddAndLogSubdomainDiscover(group.Key);

                    DomainsItem domain = Program.data.GetDomain(group.Key);
                    foreach (Uri url in group)
                    {
                        domain.map.AddUrl(url.ToString());
                    }
                }
                catch
                {
                }
            }
        }