This sample shows how to get the local system ip information using a Dns Class.
networkDNSIP.cs
using System; using System.Collections; using System.Net; public class ClsDnsIp { //declare hostname variable to save the machine hostname private string hostname; //declare iparraylist variable to save the ip addresses //this is a ArrayList Collection object private ArrayList iparraylist; //we define a constructor class public ClsDnsIp() { //assign a string empty value this.hostname = string.Empty; //to create arraylist object this.iparraylist = new ArrayList(); //call the private method to determine the hostname and ip address this.getHostnameIpAdress(); } //define a string property to get the hostname public string Hostname { get { return this.hostname; } } //define a Arraylist property to get a ip address list public ArrayList IpAddress { get { return this.iparraylist; } } //define the private method that to determine hostname and ip address private void getHostnameIpAdress() { //call Dns's GetHostName method to get the computer hostname this.hostname = Dns.GetHostName(); //to create IPHostEntry object that contain //Internet host address information by Dns's GetHotsByName method IPHostEntry iphost = Dns.GetHostByName(this.hostname); //we use a try-catch instructions for posible runtime errors try { //we add every ip address founded to arraylist collection foreach (IPAddress someip in iphost.AddressList) this.iparraylist.Add(someip.ToString()); } catch (Exception e){ ; } } } //this class is used to test ClsDnsIp class public class TestClsDnsIp { public static void Main(string[] args) { ClsDnsIp objtest = new ClsDnsIp(); Console.WriteLine("Hostname-->" + objtest.Hostname); for (int i = 0; i < objtest.IpAddress.Count; i++) Console.WriteLine("Ip Adresses-->" + objtest.IpAddress[i]); } }
now compile with:
mcs networkDNSIP.cs
and run:
mono networkDNSIP.exe