5,530,111 members and growing! (17,137 online)
Email Password   helpLost your password?
Languages » C# » How To     Intermediate

How To Get IP Address Of A Machine

By Naveen K Kohli

Tip on how to use DNS class and get IP address of a machine
C#, VC7, C++, Windows, .NET, .NET 1.0, Visual Studio, Dev

Posted: 30 Nov 2000
Updated: 1 Feb 2001
Views: 386,444
Bookmarked: 51 times
Announcements
Want a new Job?



Search    
Advanced Search
Sitemap
83 votes for this Article.
Popularity: 6.70 Rating: 3.49 out of 5
6 votes, 20.0%
1
2 votes, 6.7%
2
7 votes, 23.3%
3
7 votes, 23.3%
4
8 votes, 26.7%
5

Introduction

This article is not a technical overview or large discussion. It is like a collection of tips on how you can get the IP address or host name of a machine. In the Win32 API this could be accomplished using the NetWork API. And this is still true in the .NET framework. The only difference is finding and understanding what namespace and class to use to accomplish this task. In the .NET framework the NetWork API is available in the System.Net namespace. The DNS class in the System.Net namespace can be used to get the hostname of a machine or get the IP address if the hostname is already known. The DNS class provides a simple domain name resolution functionality. The DNS class is a static class that provides access to information from the Internet Domain Name System (DNS). The information returned includes multiple IP addresses and aliases if the host specified has more than one entry in the DNS database. The list is returned as a collection or an array of IPAddress objects. The following section is the code that shows how to obtain the IP address for a given host name.

DNSUtility Code

namespace NKUtilities 
{
    using System;
    using System.Net;
    
    public class DNSUtility
    {
        public static int Main (string [] args)
        {
        
          String strHostName = new String ("");
          if (args.Length == 0)
          {
              // Getting Ip address of local machine...

              // First get the host name of local machine.

              strHostName = DNS.GetHostName ();
              Console.WriteLine ("Local Machine's Host Name: " +  strHostName);
          }
          else
          {
              strHostName = args[0];
          }
          
          // Then using host name, get the IP address list..

          IPHostEntry ipEntry = DNS.GetHostByName (strHostName);
          IPAddress [] addr = ipEntry.AddressList;
          
          for (int i = 0; i < addr.Length; i++)
          {
              Console.WriteLine ("IP Address {0}: {1} ", i, addr[i].ToString ());
          }
          return 0;
        }    
     }
}

What The Code Does

If you want to obtain the hostname of the local machine, then call the GetHostName method without a parameter. Then use the resulting hostname as a parameter to the GetHostByName method to get the list of IPAddresses that may be associated with the hostname. Then iterate through the collection of addresses to write out the IP Addresses associated with the hostname.

Reminders

Make sure that you include the System.Net namespace in your code; otherwise the compiler will not know where to look for the DNS class. Also when you use VisualStudio.NET for creating the project, make sure that you have the System.NET.Dll in your reference list. For more information on the DNS class and System.Net namespace, please refer to the online documentation for the .NET SDK.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Naveen K Kohli



Location: United States United States

Other popular C# articles:

Article Top
Sign Up to vote for this article
You must Sign In to use this message board.
FAQ FAQ Noise ToleranceSearch Search Messages 
 Layout  Per page   
 Msgs 1 to 25 of 43 (Total in Forum: 43) (Refresh)FirstPrevNext
Subject  Author Date 
Generalhellomemberjr_jamesrobert0112:45 6 Jun '08  
Generalhow how u therememberjr_jamesrobert018:28 6 Jun '08  
GeneralWhat I'd really like to see is...membermycal9:24 27 Sep '07  
GeneralIPv6 (::1) issue with this code.memberdurkpurk2:03 28 Jul '07  
Generalquestion in getting system informationmembervarghesh22:18 17 Mar '07  
GeneralGet all IPAddress in the networkmemberWakwak Chimera20:25 3 Jan '07  
GeneralHow To Get IP Address & MAC address Of (Barcode Printer) of the Network?memberJan Palmer19:46 3 Jan '07  
GeneralIP CollectionmemberDragon Slayer2:47 8 Jul '06  
Questionclient/server on the same computermemberraniam20:38 25 Apr '06  
AnswerRe: client/server on the same computermemberpoduvajte9:11 21 Sep '07  
GeneralDNS should be Dnsmemberjinzhecheng6:14 8 Feb '06  
QuestionIP address related to a network connection typememberPriyav0:39 30 Jan '06  
GeneralFramework 2.0 namesmemberrent0n0:56 17 Jan '06  
GeneralGet External IPmemberVitoto21:56 25 Jun '05  
Generalthanks!memberscottfm8:11 1 Apr '05  
GeneralHow can i see all IP address in local LANmemberRattapol21:59 6 Jan '05  
GeneralRe: How can i see all IP address in local LANsussMarcelo Amaolo8:26 21 Jan '05  
GeneralHow can i see all IP address in local LANmembersanjeev goyal7:02 20 Apr '05  
Generala question about GetHostByAddressmemberstej_cz7:26 6 Dec '04  
GeneralCallbackmemberFrisken7:54 8 Jul '04  
GeneralThanks a lot :Dmembermielz0:49 16 Jun '04  
GeneralObtaining Remote IP and Port of a socket connectionsussSimkin Extreme8:32 8 Oct '03  
GeneralHow To Know Machine's Name When "Net Send Anynoumous"sussAnonymous0:33 5 Oct '03  
Generalfix the "string"sussAnonymous21:57 27 Aug '03  
GeneralRe: fix the "string"membersamir411804:33 8 Nov '07  

General General    News News    Question Question    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

PermaLink | Privacy | Terms of Use
Last Updated: 1 Feb 2001
Editor: Erik Thompson
Copyright 2000 by Naveen K Kohli
Everything else Copyright © CodeProject, 1999-2008
Web11 | Advertise on the Code Project