public string GetDnsServer(string domain) { string Dns = string.Empty; try { IPAddress DefaultDns = GetDefaultDns(); if (DefaultDns == null) return string.Empty; Dig dig = new Dig(); dig.resolver.TransportType = Heijden.DNS.TransportType.Tcp; Heijden.DNS.Response Response = dig.resolver.Query(domain, Heijden.DNS.QType.NS, Heijden.DNS.QClass.IN); if (Response != null) { if (Response.header.RCODE == Heijden.DNS.RCode.NoError) { if (Response.Answers.Count > 0) Dns = Response.Answers[0].RECORD.ToString().TrimEnd('.'); if (Response.Authorities.Count > 0) { //Dns = Response.Authorities[0].RECORD.ToString().Substring(0, Response.Authorities[0].RECORD.ToString().LastIndexOf('.')); Dns = Response.Authorities[0].RECORD.ToString().Substring(0, Response.Authorities[0].RECORD.ToString().IndexOf(' ')).TrimEnd('.'); } } } } catch (Exception) { Console.WriteLine("DNSServer konnte nicht gefunden werden.(DNSValidator/GetDNSServer)"); } return Dns; }
public MainForm() { InitializeComponent(); SetupComboBox(typeof(QType), this.comboBox1); SetupComboBox(typeof(QClass), this.comboBox2); dig = new Dig(); list = new List <QuerySet>(); QuerySetIndex = -1; this.checkBox1.Checked = dig.resolver.Recursion; this.checkBox3.Checked = dig.resolver.UseCache; this.textBox2.Text = dig.resolver.DnsServers[0].Address.ToString(); this.textBoxAttempts.Text = dig.resolver.Retries.ToString(); this.textBoxTimeout.Text = dig.resolver.TimeOut.ToString(); Console.SetOut(new FeedbackWriter(this.textBox1)); }
private bool ValidateDomain(string domain) { try { //IPAddress dnsServer = null; //IPAddress[] dnsAddresses = Dns.GetHostAddresses(dNSServer); //if (dnsAddresses.Length > 0) // dnsServer = dnsAddresses[0]; Dig dig = new Dig(); dig.resolver.DnsServer = dNSServer; dig.resolver.TimeOut = 500; dig.resolver.TransportType = Heijden.DNS.TransportType.Tcp; Heijden.DNS.Response Response = dig.resolver.Query(domain, Heijden.DNS.QType.A, Heijden.DNS.QClass.IN); if (Response != null) if (Response.header.RCODE == Heijden.DNS.RCode.NoError && Response.RecordsA.Length > 0) return true; } catch (Exception) { Console.WriteLine("DNSServer konnte nicht bestätigt werden (DnsValidator/ValidateDomain) k"); } return false; }