Description: The main core of DNS resolving is the resolver . This class wraps queries into DNS packets and sends them to any DNS server. The response is then decoded into some useful information (at least for programmers, or for me in special -)). All my DNS stuff uses the namespace Heijden.DNS. Don t change it in your applications, it gives me some comfort knowing my name is stored in some nice other projects. Don t forget to let me know.
Because I don t want to go immediately into details in this article, I only show the usage of the resolver component to warm you up. As the best way to do this, I have built a Dig class which acts like the good-old-Unix-style dig. Its acts like dig, but it is not a complete dig implementation. It does, however, do everything you want it to, presenting the output in more or less the same format.
This is the outline of the Dig class:
File list (Check if you may need any files):
DnsDig\DnsDig.sln
......\DnsDig
......\......\AboutForm.cs
......\......\AboutForm.Designer.cs
......\......\AboutForm.resx
......\......\bin
......\......\...\Debug
......\......\...\.....\DnsDig.exe
......\......\...\.....\DnsDig.vshost.exe
......\......\...\.....\nunit.framework.dll
......\......\...\.....\nunit.framework.xml
......\......\Dig.cs
......\......\Dns
......\......\...\Header.cs
......\......\...\Question.cs
......\......\...\RecordReader.cs
......\......\...\Records
......\......\...\.......\NotUsed
......\......\...\.......\.......\RecordA6.cs
......\......\...\.......\.......\RecordAPL.cs
......\......\...\.......\.......\RecordATMA.cs
......\......\...\.......\.......\RecordCERT.cs
......\......\...\.......\.......\RecordDHCID.cs
......\......\...\.......\.......\RecordDNSKEY.cs
......\......\...\.......\.......\RecordEID.cs
......\......\...\.......\.......\RecordGID.cs
......\......\...\.......\.......\RecordHIP.cs
......\......\...\.......\.......\RecordIPSECKEY.cs
......\......\...\.......\.......\RecordNIMLOC.cs
......\......\...\.......\.......\RecordNSEC.cs
......\......\...\.......\.......\RecordNSEC3.cs
......\......\...\.......\.......\RecordNSEC3PARAM.cs
......\......\...\.......\.......\RecordOPT.cs
......\......\...\.......\.......\RecordRRSIG.cs
......\......\...\.......\.......\RecordSINK.cs
......\......\...\.......\.......\RecordSPF.cs
......\......\...\.......\.......\RecordSSHFP.cs
......\......\...\.......\.......\RecordUID.cs
......\......\...\.......\.......\RecordUINFO.cs
......\......\...\.......\.......\RecordUnknown.cs
......\......\...\.......\.......\RecordUNSPEC.cs
......\......\...\.......\Obsolete
......\......\...\.......\........\RecordGPOS.cs
......\......\...\.......\........\RecordMD.cs
......\......\...\.......\........\RecordMF.cs
......\......\...\.......\........\RecordNSAPPTR.cs
......\......\...\.......\........\RecordNXT.cs
......\......\...\.......\Record.cs
......\......\...\.......\RecordA.cs
......\......\...\.......\RecordAAAA.cs
......\......\...\.......\RecordAFSDB.cs
......\......\...\.......\RecordCNAME.cs
......\......\...\.......\RecordDNAME.cs
......\......\...\.......\RecordDS.cs
......\......\...\.......\RecordHINFO.cs
......\......\...\.......\RecordISDN.cs
......\......\...\.......\RecordKEY.cs
......\......\...\.......\RecordKX.cs
......\......\...\.......\RecordLOC.cs
......\......\...\.......\RecordMB.cs
......\......\...\.......\RecordMG.cs
......\......\...\.......\RecordMINFO.cs
......\......\...\.......\RecordMR.cs
......\......\...\.......\RecordMX.cs
......\......\...\.......\RecordNAPTR.cs
......\......\...\.......\RecordNS.cs
......\......\...\.......\RecordNSAP.cs
......\......\...\.......\RecordNULL.cs
......\......\...\.......\RecordPTR.cs
......\......\...\.......\RecordPX.cs
......\......\...\.......\RecordRP.cs
......\......\...\.......\RecordRT.cs
......\......\...\.......\RecordSIG.cs
......\......\...\.......\RecordSOA.cs
......\......\...\.......\RecordSRV.cs
......\......\...\.......\RecordTKEY.cs
......\......\...\.......\RecordTSIG.cs
......\......\...\.......\RecordTXT.cs
......\......\...\.......\RecordWKS.cs
......\......\...\.......\RecordX25.cs
......\......\...\.......\totla.txt
......\......\...\Request.cs
......\......\...\Resolver.cs
......\......\...\Response.cs
......\......\...\Root
......\......\...\....\named_root.txt
......\......\...\RR.cs
......\......\...\Structs.cs
......\......\DnsDig.csproj
......\......\DnsDig.csproj.user
......\......\Doc
......\......\...\rfc1034.txt
......\......\...\rfc1035.txt
......\......\...\rfc1886.txt
......\......\...\rfc2782.txt
......\......\...\rfc2915.txt
......\......\Examples.cs
......\......\Feedback.cs
......\......\MainForm.cs
......\......\MainForm.Designer.cs