private static void ShodanDataFound(object sender, EventsThreads.ThreadListDataFoundEventArgs e) { try { if (e?.Data == null || e.Data.Count <= 0 || !(e.Data[0] is ShodanRecognition.ShodanIPInformation)) { return; } // just an object is received var si = (ShodanRecognition.ShodanIPInformation)e.Data[0]; Program.LogThis(new Log(Log.ModuleType.ShodanSearch, $"Found IP Information {si.IPAddress}", Log.LogType.low)); var ei = new ExtendedIPInformation { Country = si.Country, ServerBanner = si.ServerBanner }; foreach (var hostName in si.HostNames) { Program.data.AddResolution(hostName, si.IPAddress, $"Shodan Hostname [{hostName}]", 0, Program.cfgCurrent, true); } ei.OS = si.OS; ei.ShodanResponse = si.ShodanResponse; // add data found in shodan to the IP address Program.data.SetIPInformation(si.IPAddress, ei); Program.data.GetServersFromIPs(); } catch (Exception ex) { Program.LogThis(new Log(Log.ModuleType.ShodanSearch, $"Error managing Shodan data returned {ex.Message}", Log.LogType.error)); } }
protected void OnSearcherLinkFoundEvent(EventsThreads.ThreadListDataFoundEventArgs e) { EventHandler <EventsThreads.ThreadListDataFoundEventArgs> handler = SearcherLinkFoundEvent; if (handler != null) { handler(this, e); } }
private void wsSearch_SearcherLinkFoundEvent(object sender, EventsThreads.ThreadListDataFoundEventArgs e) { foreach (var t in e.Data) { try { var u = new Uri(t.ToString()); var link = t.ToString(); try { var fileWithMetadata = Program.FormMainInstance.panelMetadataSearch.checkedListBoxExtensions.Items.Cast <string>() .Any(checkedListbox => link.EndsWith(checkedListbox)); if (fileWithMetadata) { var fi = new FilesITem { Ext = Path.GetExtension(new Uri(link).AbsolutePath).ToLower(), URL = link, Downloaded = false, Processed = false, Date = DateTime.MinValue, ModifiedDate = DateTime.MinValue, Path = string.Empty, Size = -1 }; Program.data.files.Items.Add(fi); Program.FormMainInstance.treeViewMetadata_UpdateDocumentsNumber(); var lvi = Program.FormMainInstance.panelMetadataSearch.listViewDocuments_Update(fi); Program.FormMainInstance.panelMetadataSearch.HttpSizeDaemonInst.AddURL(link, fi); } } catch (Exception) { } // add the url to the files list var d = Program.data.GetDomain(u.Host); d.map.AddUrl(u.ToString()); if (d.techAnalysis.domain == null) { d.techAnalysis.domain = d.Domain; } var listaUrl = new List <object> { u }; d.techAnalysis.eventLinkFoundDetailed(null, new EventsThreads.ThreadListDataFoundEventArgs(listaUrl)); } catch { } } }
protected void OnDataFoundEvent(EventsThreads.ThreadListDataFoundEventArgs e) { //MS say: Copy the handle to avoid a race condition. DataFoundEvent?.Invoke(this, e); }