VisualBuilder
  Home > Csharp > Tutorials > DNS [Domain Name System] - C# Tutorial
Tell a friend
Link to us
Total Members
      Members: 84606
     
Sitemap Forum Chat
Home
C# Tutorial Home
1 . Introduction to C sharp
2 . Control Statement: Selection Statement in C sharp
3 . Control Statements – Loops Statement
4 . Methods
5 . Namespaces
6 . Introduction to Classes:
7 . Inheritance:
8 . Polymorphism
9 . Properties
10 . Indexers
11 . Structs
12 . Interfaces
13 . Delegates:
14 . Exception Handling:
15 . Attributes
16 . Enums
17 . Encapsulation
18 . Parameter Passing in C sharp
19 . Method Overloading
20 . Database Interaction Using C sharp
21 . Operator Overloading in C sharp -1
22 . Operator Overloading in C sharp -2
23 . Operator Overloading in C sharp -2
24 . Sockets
25 . DNS [Domain Name System]
26 . Working with Files
27 . Generating Help File in C sharp
28 . Code Access Security
29 . Multi-Threading
30 . Globalization and Localization -1
31 . Working with Registry in C sharp
32 . Globalization and Localization -2
33 . Windows Service
34 . Web Service
35 . Consuming Web Services
36 . Creating Proxy Object of Web Service
37 . Creating an XML document
38 . Reading XML document in C sharp
39 . Using XMLWriter class to Write XML document in C sharp
40 . Assembly Information : Getting Permission set of the assembly
41 . Creating your own Permission Set
42 . Using C sharp Socket
 
Csharp Group Home
Csharp Discussion (7)
Csharp Members (2250)
Csharp Resources
Csharp Source Code (35)
Csharp Articles (0)
Csharp Blogs
Csharp Jobs
Csharp Components (5)
Csharp Books
Csharp Websites (25)
Csharp News (17)
Csharp Q & A (4)
- Csharp Ask Question
- Csharp Questions
- Csharp Unanswered Questions
 
GROUPS
.NET
ASP.NET
.NET
C#
ASP
Visual Basic
Java
Java
JSP
EJB
Other
Delphi
C++
Ajax
UML
JavaScript
PHP
Web Design
Web Hosting
SQL Server
Oracle
Project Management
More Groups

 
LEARNING CENTER
TUTORIALS
.NET
.NET Tutorial
ASP Tutorial
ASP.NET Database Tutorial
ASP.NET Development Tips
ASP.Net Security,Internationalisation And Deployment
ASP.NET Server Controls Tips
ASP.NET Tutorial
C Sharp Tutorial
Web Development
Flex Tutorial
HTML Tutorial
Learn AJAX Tutorial
PHP Tutorial
Software Development
Database Tutorial
SQL Tutorial
UML Tutorial
Java
Ant Tutorial
EJB 3 Tutorial
Hibernate Tutorial
Java Tutorial
Java Web Component Tutorial
Java XML Tutorial
JDBC Tutorial
JDK1.5 Tutorial
JSF Tutorial
JSP And J2EE Design Tutorial
JSP Tutorial
Spring Tutorial
Struts Tutorial

RESOURCES
Q & A (432 )
Source Code (3217 )
Articles (11 )
Components (1589 )
News (880 )
Websites (1207 )

SUBMISSIONS
Submit Article
Submit Website
Submit News
Submit Source Code
Submit Component

COMMUNITY
Members Directory
Discussion Forum
Chat

SITE
About Us
Sitemap
Search
Contact Us
Link To Us
Feedback
Tell a Friend
Partners
Advertise


Csharp Tutorial
 DNS [Domain Name System]
  << Prev: Sockets Next: Working with Files >>

To simplify the unwieldy state of computer naming, the Domain Name System (DNS) was created. It allows the master host database to be split up and distributed among multiple systems on the Internet. DNS uses a hierarchical database approach, creating levels of information that can be split and stored on various systems throughout the Internet.


DNS Structure


The structure of a hierarchical database is similar to an organization chart with nodes connected in a treelike manner (that's the hierarchical part). The top node is called the root . The root node does not explicitly show up in Internet host addresses, so it is often referred to as the “nameless” node. Multiple categories were created under the root level to divide the database into pieces called domains . Each domain contains DNS servers that are responsible for maintaining the database of computer names for that area of the database (that's the distributed part).



The first (or top) level of distribution is divided into domains based on country codes. Additional top-level domains for specific organizations were created to prevent the country domains from getting overcrowded.
















































Domain


Description


.mil

U.S. military sites

.com

Commercial organizations

.edu

Educational institutions

.gov

U.S. government organizations

.net

Internet Service Providers (ISPs)

.us

Other U.S. organizations (such as local governments)

.org

Nonprofit organizations

.ca

Canadian organizations

.de

German organizations

[other countries]

Organizations from other countries

Using DNS


The last way to determine system IP information is to utilize the C# DNS (Domain Name System) classes. DNS can be used to obtain Internet hostnames and IP Addresses. The C# System.Net namespace contains the DNS class, which comprises several methods that allow you to obtain DNS information about hosts. The GetHostName() method retrieves the hostname of the local system. The GetHostByName() method attempts to find the IP address of a hostname.


 


DNS Configuration


When your C# application is running on a customer's system, you have no guarantee that there are any DNS servers configured. You can find out what (if any) DNS servers are configured by using the .NET Registry class methods to examine the DNS Registry values.


Fortunately, all Windows platforms store the DNS server information in the same place:


HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters  

Registry Data Values for DNS Servers






























Data Value



Description



DatabasePath



The location of the host's file



Domain



The name of the system's domain



NameServer



The list of DNS servers



Hostname



The name of the system's DNS host



SearchList



A list of DNS domains to append to the end of hostnames in DNS name searches



The value of most interest here is NameServer . This should contain a single string value representing all the configured DNS servers, separated by spaces. The primary DNS server will be listed first, followed by the alternate servers.


 


 


Example: Demonstrate DNS and its Configuration in Registry


using System;


using System.Collections.Generic;


using System.ComponentModel;


using System.Data;


using System.Drawing;


using System.Text;


using System.Windows.Forms;


using System.Net;


using Microsoft.Win32;


 


 


namespace _CSharpApplication


{


  public partial class Form6 : Form


    {


    public Form6()


        {


     InitializeComponent();


        }


 


    private void button1_Click( object sender, EventArgs e)


        { //Demonstrate DNS..


            string _hostName = Dns .GetHostName();


            lstDNS.Items.Add( "Local hostname :: " + _hostName);


            IPHostEntry _ipHostEntry = Dns .GetHostByName(_hostName);


            foreach ( IPAddress _address in _ipHostEntry.AddressList)


            {


                lstDNS.Items.Add( "IP Address ::" + _address.ToString());


            }


        }


 


    private void button2_Click( object sender, EventArgs e)


        { //DNS Configuration in Registry


            RegistryKey start = Registry .LocalMachine;


            string DNSservers = @"SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" ;


            RegistryKey DNSserverKey = start.OpenSubKey(DNSservers);


      if (DNSserverKey == null )


            {


                lstDNSConfiguration.Items.Add( "Unable to open DNS servers key" );


        return ;


            }


            string serverlist = ( string )DNSserverKey.GetValue( "NameServer" );


            lstDNSConfiguration.Items.Add( "DNS Servers: " + serverlist);


            DNSserverKey.Close();


            start.Close();


            char [] token = new char [1];


            token[0] = ' ' ;


            string [] servers = serverlist.Split(token);


      foreach ( string server in servers)


            {


                lstDNSConfiguration.Items.Add( "DNS server: " + server);


            }


        }


    }


}


Output:




 


Click on both the buttons will display the respective outputs in the list box specified below


 



  << Prev: Sockets Next: Working with Files >>
Csharp Tutorial Home
Give feedback and win a prize.

 
   Printer Friendly
   Email to a friend
   Add to my Favourites    
  Download PDF version
   Report Bad Submissions
   Submit Feedback
 
  Delicious   Digg   Technorati   Blink   Furl   Reddit   Newsvine   Google Click each image to add
this page to each site.
 
 
Welcome Guest Signup
MEMBER'S PANEL
EMAIL
PASSWORD
Forgot your password?
New User? Click Here!
 
Resend Activation Email!
 
SEARCH
 
 
LINKS
MSN
Video Surveillance
Skype vs. sipcall
Gift to Pakistan
 
ADVERTISEMENT
 
PARTNER LIST

More
 
 
 

Home | Login | About Us | Contact Us | Privacy Policy | Advertising