서론
이번글에서는 사설과 공인ip 를 구하는 방법에 대해 정리해보려한다.
보통 작업을 할 때 로컬에서는 사설, 외부에서는 공인으로 작업하게되는데 상황에 맞게 필요한 부분만 떼어내어 사용하면 될 것 같다.
필자같은 경우는 공인IP를 추출하고 입력해줘야 하는 일이 생겨 사용한 케이스였다.
소스
static void Main(string[] args)
{
Console.WriteLine("사설 IP : " + GetInternalIP());
Console.WriteLine("공인 IP : " + GetPublicIP());
Console.ReadKey();
}
public static string GetInternalIP()
{
var host = Dns.GetHostEntry(Dns.GetHostName());
foreach (var ip in host.AddressList)
{
if (ip.AddressFamily == AddressFamily.InterNetwork)
{
return ip.ToString();
}
}
throw new Exception("IPv4 주소를 찾을 수 없습니다.");
}
private static string GetPublicIP()
{
string publicIp = new WebClient().DownloadString("http://ipinfo.io/ip").Trim();
//null경우 Get Internal IP를 가져오게 한다.
if (String.IsNullOrWhiteSpace(publicIp))
{
publicIp = GetInternalIP();
}
return publicIp;
}
결과
반응형
'Programming > C#' 카테고리의 다른 글
C# 윈도우 화상 키보드(OSK) 실행 및 종료 방법 (Win32 API 사용) (0) | 2022.04.25 |
---|---|
C# 네트워크 통신 연결 상태 확인 하는 방법 (Ping / NetworkInterface 활용) (0) | 2022.03.31 |
C# Datagridview 특정 행, 열의 색상 바꾸는 방법 (0) | 2022.03.29 |
C# DNS 또는 IP를 이용한 Socket IP 설정 방법 (IPAdrress / IPEndPoint 설정) (0) | 2022.03.18 |
C# Invoke와 BeginInvoke의 차이점 (목적 / 정의 / 사용 방법 / 예제) (1) | 2022.02.18 |
댓글