본문 바로가기
소소한 C# 지식

[C#]Local PC IP 조회 및 네트워크 상태 체크

by 해뤼맘 2022. 5. 3.
728x90
반응형

안녕하세요

프로그램 실행 시 프로그램 실행 한 컴퓨터의

IP 조회 및 네트워크 체크하는 방법을 포스팅하겠습니다.

 

1. PC의 로컬 IP 조회

  • using System.Net.NetworkInformation
  • using System.Net.Sockets
 public static String GetLocalIP()
        {
            var interfaces = NetworkInterface.GetAllNetworkInterfaces();

            var networks = interfaces.Where(ni => ni.NetworkInterfaceType != NetworkInterfaceType.Loopback &&
                       ni.NetworkInterfaceType != NetworkInterfaceType.Tunnel && ni.OperationalStatus.ToString() != "Down");

            foreach (NetworkInterface nw in networks)
            {
                IPInterfaceProperties ipProps = nw.GetIPProperties();

                //이 인터페이스에 대한 IPv4 네트워크 게이트웨이 주소를 가져 옵니다.
                if (ipProps.GatewayAddresses.Count > 0)
                {
                    UnicastIPAddressInformation unicastIPAddressInfo = nw.GetIPProperties().UnicastAddresses.SingleOrDefault(ua => ua.Address.AddressFamily == AddressFamily.InterNetwork);
                    string ipAddress = unicastIPAddressInfo.Address.ToString();
                }
            }
            throw new Exception("Local IP 주소 확인 불가");
        }

2. PC 네트워크 상태 체크

  • Microsoft.VisualBasic 참조 추가해 줍니다.

Microsoft.VisualBasic 참조 추가
Microsoft.VisualBasic 참조 추가

  • 컴퓨터가 네트워크에 연결되었는지 여부를 나타 냅니다.
  • 컴퓨터가 네트워크에 연결되어 있으면 True를 반환하고, 그렇지 않으면 False를 반환합니다.
public static bool NetworkState()
{
   return new Microsoft.VisualBasic.Devices.Network().IsAvailable;
 }

 

3. 지정한 서버에 Ping 

  • Microsoft.VisualBasic 참조 추가해 줍니다.
  • 지정한 서버에 Ping을 날려 줍니다.
  • 작업이 성공적으로 수행되었으면 True를 반환하고 그렇지 않으면 False를 반환합니다.
public static bool CheckPing(string ip)
{
  return new Microsoft.VisualBasic.Devices.Network().Ping(ip, 100);
}

//CheckPing(xxx.x.x.xx)

 

이상 C#으로 PC IP 조회 및 네트워크 체크하는 방법이었습니다.

728x90
반응형

댓글