오늘 운영툴을 작업하면서 운영툴 인증방식을 IP 인증으로 하기로 하였습니다.
그래서 사용 컴퓨터의 IP주소를 알아내야 했죠. 현재 내가 쓰고 있는 컴퓨터의 IP주소를 알아내는 코드입니다.

using System;
using System.Net;

public class DNSUtility
{
        public void GetMyIP()
        {
                // 호스트 이름으로 IP를 구한다
                IPHostEntry ipEntry = Dns.GetHostEntry(Dns.GetHostName());
                IPAddress[] addr = ipEntry.AddressList;

                for (int i = 0; i < addr.Length; i++)
                {
                        Console.WriteLine("IP Address {0}: {1} ", i, addr[i].ToString());
                }
        }
}

위와 같이 작성시 현재 컴퓨터의 IP를 알아낼수 있지만, 공유기를 사용하고 있는 컴퓨터의 경우 내부 IP만 출력됩니다. 외부 IP를 알아내려고 하면, 외부 사이트를 이용하는 방법이 있습니다. 몇몇 사이트들이 접속한 컴퓨터의 IP를 보여주는 곳이 있는데, 이 페이지를 이용해서 자신의 IP를 긁어오는거죠.

using System;
using System.Net;

public class DNSUtility
{
        public void GetMyIP()
        {
                // 외부아이피 알려주는 사이트에서 문자열 가져오기 
                String WanIP = new WebClient().DownloadString("http://www.whatismyip.com/automation/n09230945.asp");
                Console.WriteLine("IP Address : {0} ", WanIP);
        }
}

+ Recent posts