/// <summary> /// Bu fonksiyon yeni bir Site (Varlık) oluşturur. /// This function creates a new Site. /// </summary> /// <param name="manager">NexposeManager instance</param> /// <param name="site">SiteCreateModel object</param> /// <returns></returns> public string CreateSite(NexposeManager manager, SiteCreateModel site) { try { string json = JsonConvert.SerializeObject(site); string responseJson = manager.CreateSite(json); SiteCreateResponse siteCreateResponse = JsonConvert.DeserializeObject <SiteCreateResponse>(responseJson); return(siteCreateResponse.Id); } catch (Exception ex) { Console.WriteLine("ScanController::CreateSite \nException: " + ex.Message); return(null); } }
/// <summary> /// Bu fonksiyon yeni bir Tarama oluşturur ve oluşturulan ID'yi ekrana yazar. /// This function creates a new Scan and created ID writes to the screen. /// </summary> /// <param name="manager"></param> public static void CreateScan(NexposeManager manager) { ScanController = new ScanController(); try { string selected = ""; do { Console.Write("Yeni Varlık Oluşturmak İstiyor musunuz? (E/H)"); selected = Console.ReadLine(); string responseId = ""; if (selected.ToUpper() == "E") { //Profile Name is scan settings namely it is policy. Profile Adı tarama ayarlarıdır yani policydir. Console.WriteLine("Varlık Adı Giriniz."); string siteName = Console.ReadLine(); string scanProfileName = ListAndSelectTemplate(manager); string targetURL = SelectTargetURL(); SiteCreateModel siteCreate = new SiteCreateModel(siteName, targetURL, scanProfileName); responseId = ScanController.CreateSite(manager, siteCreate); } else if (selected.ToUpper() == "H") { //Varlıkları Listele SitesModel sitesModel = ScanController.GetSites(manager); int counter = 1; if (sitesModel.Resources.Length == 0) { Console.WriteLine("Herhangi bir varlık bulunmamaktadır. Öncelikle yeni bir varlık oluşturunuz."); break; } foreach (var item in sitesModel.Resources) { Console.WriteLine(counter + ") " + item.Name); counter += 1; } Console.WriteLine("Site Numarasını giriniz: "); int id = Convert.ToInt32(Console.ReadLine()); ScanCreate scanCreate = new ScanCreate(null, sitesModel.Resources[id - 1].ScanTemplate); ScanCreateResponse scanCreateResponse = ScanController.CreateScan(manager, id.ToString(), scanCreate); if (scanCreateResponse.Id > 0) { Console.WriteLine("Tarama Oluşturuldu. Tarama ID: " + scanCreateResponse.Id); break; } } else { Console.WriteLine("Geçersiz Seçim"); } } while (selected != "E" & selected != "H"); //ScanCreate scanCreate = new ScanCreate(scanProfileName, targetURL); //string json = JsonConvert.SerializeObject(scanCreate); //if (responseJson == null) //{ // Console.WriteLine("Sistemde herhangi bir tarama mevcut ise öncelikle onu siliniz."); // return; //} //ScanCreateResponse scanCreateResponse = JsonConvert.DeserializeObject<ScanCreateResponse>(responseJson); //Console.WriteLine("Oluşturulan Tarama ID: " + scanCreateResponse.ID); } catch (Exception ex) { Console.WriteLine("ScanView::CreateScan Exception: " + ex.Message); } }