Пример #1
0
        private async Task <ParsedSPFRecord> ParseSPFOutput(string[] spfOutput, string domainName, int lookupCount)
        {
            ParsedSPFRecord spfModel = new ParsedSPFRecord();

            Parallel.ForEach(spfOutput, async spfSubstring =>
            {
                if (spfSubstring.Contains("include:"))
                {
                    ParsedIncludeRecord includeRecords = new ParsedIncludeRecord();
                    SPFParseScheduler spfNew           = new SPFParseScheduler();
                    includeRecords.includeRecord       = spfSubstring.Split(':')[1];
                    includeRecords.subLookup           = await spfNew.GetSPF(includeRecords.includeRecord, ++lookupCount);
                    if (includeRecords.subLookup == null)
                    {
                        includeRecords.subLookup = new ParsedSPFRecord();
                    }
                    spfModel.includeRecords.Add(includeRecords);
                }
            });
            spfModel.lookupCount = lookupCount;
            return(spfModel);
        }
Пример #2
0
 public static void SPFRecurse(ParsedIncludeRecord subInclude, string parentIncludeRecord)
 {
     if (parentIncludeRecord == "")
     {
         Console.WriteLine("---------------------------------------------------");
         Console.ForegroundColor = ConsoleColor.Yellow;
         Console.WriteLine("SPF Domain: {0}", subInclude.includeRecord);
         Console.ResetColor();
     }
     else
     {
         Console.WriteLine("---------------------------------------------------");
         Console.ForegroundColor = ConsoleColor.Yellow;
         Console.WriteLine("SPF Domain: {0} : {1}", parentIncludeRecord, subInclude.includeRecord);
         Console.ResetColor();
     }
     foreach (IPVulnerabilities subipVulns in subInclude.subLookup.ip4Records)
     {
         Console.WriteLine("---------------------------------------------------");
         Console.WriteLine("IP Address: {0}", subipVulns.ip4records);
         Console.WriteLine("Organisation Name: {0}", subipVulns.organisationName);
         Console.WriteLine("Country Name: {0}", subipVulns.country_name);
         Console.WriteLine("Spam Score: {0}", subipVulns.spamLookup);
     }
     foreach (CanIBeSpoofed.Spoof_Check.IPVulnerabilities subipVulns in subInclude.subLookup.ip6Records)
     {
         Console.WriteLine("---------------------------------------------------");
         Console.WriteLine("IP Address: {0}", subipVulns.ip4records);
         Console.WriteLine("Organisation Name: {0}", subipVulns.organisationName);
         Console.WriteLine("Country Name: {0}", subipVulns.country_name);
         Console.WriteLine("Spam Score: {0}", subipVulns.spamLookup);
     }
     if (subInclude.subLookup.aRecord.Count != 0)
     {
         foreach (ParsedMXARecord aRecords in subInclude.subLookup.aRecord)
         {
             Console.WriteLine("---------------------------------------------------");
             Console.ForegroundColor = ConsoleColor.Yellow;
             Console.WriteLine("SPF Domain: {0} : {1} 'A' Records", subInclude.includeRecord, aRecords.lookupDomain);
             Console.ResetColor();
             foreach (CanIBeSpoofed.Spoof_Check.IPVulnerabilities ipVulns in aRecords.ipLookup)
             {
                 Console.WriteLine("---------------------------------------------------");
                 Console.WriteLine("IP Address: {0}", ipVulns.ip4records);
                 Console.WriteLine("Organisation Name: {0}", ipVulns.organisationName);
                 Console.WriteLine("Country Name: {0}", ipVulns.country_name);
                 Console.WriteLine("Spam Score: {0}", ipVulns.spamLookup);
             }
         }
     }
     if (subInclude.subLookup.mxRecord.Count != 0)
     {
         foreach (CanIBeSpoofed.Spoof_Check.ParsedMXARecord mxRecords in subInclude.subLookup.mxRecord)
         {
             Console.WriteLine("---------------------------------------------------");
             Console.ForegroundColor = ConsoleColor.Yellow;
             Console.WriteLine("SPF Domain: {0} : {1} 'MX' Records", subInclude.includeRecord, mxRecords.lookupDomain);
             Console.ResetColor();
             foreach (CanIBeSpoofed.Spoof_Check.IPVulnerabilities ipVulns in mxRecords.ipLookup)
             {
                 Console.WriteLine("---------------------------------------------------");
                 Console.WriteLine("IP Address: {0}", ipVulns.ip4records);
                 Console.WriteLine("Organisation Name: {0}", ipVulns.organisationName);
                 Console.WriteLine("Country Name: {0}", ipVulns.country_name);
                 Console.WriteLine("Spam Score: {0}", ipVulns.spamLookup);
             }
         }
     }
 }