첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170

▶ IPAddress 클래스 : 서브넷 마스크 구하기 예제

using System;
using System.Net;

IPAddress subnetMask = GetSubnetMask(IPAddress.Parse("192.168.29.240"));

Console.WriteLine(subnetMask);

 

728x90

 

▶ IPAddress 클래스 : 서브넷 마스크 구하기

using System.Net;
using System.Net.NetworkInformation;
using System.Net.Sockets;

#region 서브넷 마스크 구하기 - GetSubnetMask(ipAddress)

/// <summary>
/// 서브넷 마스크 구하기
/// </summary>
/// <param name="ipAddress">IP 주소</param>
/// <returns>서브넷 마스크</returns>
public IPAddress GetSubnetMask(IPAddress ipAddress)
{
    foreach(NetworkInterface networkInterface in NetworkInterface.GetAllNetworkInterfaces())
    {
        foreach(UnicastIPAddressInformation unicastIPAddressInformation in networkInterface.GetIPProperties().UnicastAddresses)
        {
            if(unicastIPAddressInformation.Address.AddressFamily == AddressFamily.InterNetwork)
            {
                if(ipAddress.Equals(unicastIPAddressInformation.Address))
                {
                    return unicastIPAddressInformation.IPv4Mask;
                }
            }
        }
    }

    throw new ArgumentException(string.Format("Can't find subnetmask for IP address '{0}'", ipAddress));
}

#endregion
728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요