Get IP address in a console application

前端 未结 6 1915
醉酒成梦
醉酒成梦 2021-02-12 22:35

I am looking to figure out what my IP address is from a console application.

I am used to a web application by using the Request.ServerVariables collection

相关标签:
6条回答
  • 2021-02-12 22:47

    System.Net.Dns.GetHostAddresses() should do it.

    0 讨论(0)
  • 2021-02-12 22:48

    Try this:

    String strHostName = Dns.GetHostName();
    
    Console.WriteLine("Host Name: " + strHostName);
    
    // Find host by name    IPHostEntry
    iphostentry = Dns.GetHostByName(strHostName);
    
    // Enumerate IP addresses
    int nIP = 0;   
    foreach(IPAddress ipaddress in iphostentry.AddressList) {
       Console.WriteLine("IP #" + ++nIP + ": " + ipaddress.ToString());    
    }
    
    0 讨论(0)
  • 2021-02-12 22:53

    The System.Net namespace is your friend here. In particular, APIs such as DNS.GetHostByName.

    However, any given machine may have multiple IP addresses (multiple NICs, IPv4 and IPv6 etc) so it's not quite as simple a question as you pose.

    0 讨论(0)
  • 2021-02-12 22:54

    The easiest way to do this is as follows:

    using System;
    using System.Net;
    
    
    namespace ConsoleTest
    {
        class Program
        {
            static void Main()
            {
                String strHostName = string.Empty;
                // 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);
                // Then using host name, get the IP address list..
                IPHostEntry ipEntry = Dns.GetHostEntry(strHostName);
                IPAddress[] addr = ipEntry.AddressList;
    
                for (int i = 0; i < addr.Length; i++)
                {
                    Console.WriteLine("IP Address {0}: {1} ", i, addr[i].ToString());
                }
                Console.ReadLine();
            }
        }
    }
    
    0 讨论(0)
  • 2021-02-12 22:56

    IPAddress[] addresslist = Dns.GetHostAddresses(Dns.GetHostName());

    0 讨论(0)
  • 2021-02-12 23:00
    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;
        }    
     }
    

    source : http://www.codeproject.com/KB/cs/network.aspx

    0 讨论(0)
提交回复
热议问题