Dns.GetHostEntry 메서드

정의

호스트 이름 또는 IP 주소를 IPHostEntry 인스턴스로 확인합니다.

오버로드

GetHostEntry(IPAddress)

IP 주소를 IPHostEntry 인스턴스로 확인합니다.

GetHostEntry(String)

호스트 이름 또는 IP 주소를 IPHostEntry 인스턴스로 확인합니다.

GetHostEntry(String, AddressFamily)

호스트 이름 또는 IP 주소를 IPHostEntry 인스턴스로 확인합니다.

GetHostEntry(IPAddress)

Source:
Dns.cs
Source:
Dns.cs
Source:
Dns.cs

IP 주소를 IPHostEntry 인스턴스로 확인합니다.

public static System.Net.IPHostEntry GetHostEntry (System.Net.IPAddress address);

매개 변수

address
IPAddress

IP 주소.

반환

address에 지정된 호스트의 주소 정보를 포함하는 IPHostEntry 인스턴스입니다.

예외

address이(가) null인 경우

address을 확인할 때 오류가 발생한 경우

address가 잘못된 IP 주소인 경우

예제

다음 코드 예제에서는 메서드를 GetHostEntry 사용하여 인스턴스에 대한 IP 주소를 확인합니다 IPHostEntry .

public static void DoGetHostEntry(IPAddress address)
{
    IPHostEntry host = Dns.GetHostEntry(address);

    Console.WriteLine($"GetHostEntry({address}) returns HostName: {host.HostName}");
}

설명

메서드는 GetHostEntry IP 주소와 연결된 IP 주소 및 별칭에 대해 DNS 서버를 쿼리합니다.

로컬 컴퓨터에 IPv6이 설치되어 있지 않은 경우 IPv6 주소는 메서드의 GetHostEntry 결과에서 필터링됩니다. 따라서 매개 변수에 IPv6 결과만 사용할 수 있는 경우 빈 IPHostEntry 인스턴스를 address 다시 가져올 수 있습니다.

Aliases 반환된 인스턴스의 IPHostEntry 속성은 이 메서드로 채워지지 않으며 항상 비어 있습니다.

참고

이 멤버는 애플리케이션에서 네트워크 추적을 사용 하도록 설정 하면 추적 정보를 내보냅니다. 자세한 내용은 .NET Framework의 네트워크 추적을 참조하세요.

적용 대상

.NET 9 및 기타 버전
제품 버전
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

GetHostEntry(String)

Source:
Dns.cs
Source:
Dns.cs
Source:
Dns.cs

호스트 이름 또는 IP 주소를 IPHostEntry 인스턴스로 확인합니다.

public static System.Net.IPHostEntry GetHostEntry (string hostNameOrAddress);

매개 변수

hostNameOrAddress
String

확인할 호스트 이름 또는 IP 주소입니다.

반환

hostNameOrAddress에 지정된 호스트의 주소 정보를 포함하는 IPHostEntry 인스턴스입니다.

예외

hostNameOrAddress 매개 변수가 null인 경우

hostNameOrAddress 매개 변수의 길이가 255자를 초과하는 경우

hostNameOrAddress 매개 변수를 확인할 때 오류가 발생한 경우

hostNameOrAddress 매개 변수가 잘못된 IP 주소인 경우

예제

다음 예제에서는 메서드를 GetHostEntry 사용하여 인스턴스에 대한 IP 주소를 확인합니다 IPHostEntry .

public static void DoGetHostEntry(string hostname)
{
    IPHostEntry host = Dns.GetHostEntry(hostname);

    Console.WriteLine($"GetHostEntry({hostname}) returns:");

    foreach (IPAddress address in host.AddressList)
    {
        Console.WriteLine($"    {address}");
    }
}

설명

메서드는 GetHostEntry DNS 서버에서 호스트 이름 또는 IP 주소와 연결된 IP 주소를 쿼리합니다.

빈 문자열이 인수로 hostNameOrAddress 전달되면 이 메서드는 로컬 호스트의 IPv4 및 IPv6 주소를 반환합니다.

호스트 이름을 찾을 SocketException 수 없는 경우 11001(Windows 소켓 오류 WSAHOST_NOT_FOUND) 값으로 예외가 반환됩니다. DNS 서버가 응답하지 않는 경우 이 예외를 반환할 수 있습니다. 이름이 공식 호스트 이름이나 별칭이 아니거나 쿼리 중인 데이터베이스에서 찾을 수 없는 경우에도 이 예외를 반환할 수 있습니다.

매개 변수에 또는 가 ArgumentException 포함된 경우에도 hostNameOrAddress 예외가 반환됩니다Any.IPv6Any

GetHostEntry 메서드 가정 IP 리터럴 문자열을 전달 하는 경우는 hostNameOrAddress 애플리케이션에서 필요로 하는 매개 변수는 IPHostEntry 속성 집합의 모든 인스턴스를 반환 합니다. 이러한 속성에는 , AliasesHostName가 포함됩니다AddressList. 따라서 메서드의 GetHostEntry 구현은 IP 문자열 리터럴이 전달될 때 다음과 같은 동작을 나타냅니다.

  1. 메서드는 주소를 구문 분석하려고 합니다. 매개 변수에 hostNameOrAddress 법적 IP 문자열 리터럴이 포함되어 있으면 첫 번째 단계가 성공합니다.

  2. IP 문자열 리터럴의 IP 주소를 사용하여 역방향 조회를 시도하여 호스트 이름을 가져오려고 시도합니다. 이 결과는 속성으로 설정됩니다 HostName .

  3. 이 역방향 조회의 호스트 이름은 이름과 연결된 가능한 모든 IP 주소를 가져오고 속성으로 AddressList 설정하는 데 다시 사용됩니다.

IPv4 문자열 리터럴의 경우 위의 세 단계가 모두 성공할 수 있습니다. 그러나 실제로 다른 호스트에 속하는 IPv4 주소에 대한 부실 DNS 레코드가 반환될 수 있습니다. 이로 인해 3단계가 실패하고 예외가 발생할 수 있습니다(IPv4 주소에 대한 DNS PTR 레코드가 있지만 IPv4 주소에 대한 DNS A 레코드는 없음).

대부분의 IPv6 배포는 IPv6 주소에 대한 역방향(PTR) 레코드를 등록하지 않으므로 IPv6의 경우 위의 2단계가 실패할 수 있습니다. 따라서 이 메서드는 문자열 IPv6 리터럴을 속성의 FQDN(정규화된 도메인) 호스트 이름으로 반환할 HostName 수 있습니다.

메서드는 GetHostAddresses IP 리터럴과 관련하여 다른 동작을 가합니다. 위의 1단계가 성공하면(성공적으로 IP 주소로 구문 분석) 해당 주소가 결과로 즉시 반환됩니다. 역방향 조회를 시도할 수 없습니다.

로컬 컴퓨터에 IPv6이 설치되어 있지 않은 경우 IPv6 주소는 메서드의 GetHostEntry 결과에서 필터링됩니다. 따라서 IPv6만 .parameter에 사용할 수 있는 경우 빈 IPHostEntry 인스턴스를 hostNameOrAddress다시 가져올 수 있습니다.

Aliases 반환된 인스턴스의 IPHostEntry 속성은 이 메서드로 채워지지 않으며 항상 비어 있습니다.

참고

이 멤버는 애플리케이션에서 네트워크 추적을 사용 하도록 설정 하면 추적 정보를 내보냅니다. 자세한 내용은 .NET Framework의 네트워크 추적을 참조하세요.

적용 대상

.NET 9 및 기타 버전
제품 버전
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

GetHostEntry(String, AddressFamily)

Source:
Dns.cs
Source:
Dns.cs
Source:
Dns.cs

호스트 이름 또는 IP 주소를 IPHostEntry 인스턴스로 확인합니다.

public static System.Net.IPHostEntry GetHostEntry (string hostNameOrAddress, System.Net.Sockets.AddressFamily family);

매개 변수

hostNameOrAddress
String

확인할 호스트 이름 또는 IP 주소입니다.

family
AddressFamily

IP를 검색해야 하는 주소 패밀리입니다. 이면 Unspecified주소 패밀리에 관계없이 모든 IP를 검색합니다.

반환

IPHostEntry 에 지정된 호스트에 대한 주소 정보를 포함하는 인스턴스입니다hostNameOrAddress.

적용 대상

.NET 9 및 기타 버전
제품 버전
.NET 6, 7, 8, 9