Dns.GetHostEntry 메서드

정의

호스트 이름 또는 IP 주소를 IPHostEntry 인스턴스로 확인합니다.Resolves a host name or IP address to an IPHostEntry instance.

오버로드

GetHostEntry(IPAddress)

IP 주소를 IPHostEntry 인스턴스로 확인합니다.Resolves an IP address to an IPHostEntry instance.

GetHostEntry(String)

호스트 이름 또는 IP 주소를 IPHostEntry 인스턴스로 확인합니다.Resolves a host name or IP address to an IPHostEntry instance.

GetHostEntry(IPAddress)

IP 주소를 IPHostEntry 인스턴스로 확인합니다.Resolves an IP address to an IPHostEntry instance.

public:
 static System::Net::IPHostEntry ^ GetHostEntry(System::Net::IPAddress ^ address);
public static System.Net.IPHostEntry GetHostEntry (System.Net.IPAddress address);
static member GetHostEntry : System.Net.IPAddress -> System.Net.IPHostEntry
Public Shared Function GetHostEntry (address As IPAddress) As IPHostEntry

매개 변수

address
IPAddress

IP 주소입니다.An IP address.

반환

address에 지정된 호스트의 주소 정보를 포함하는 IPHostEntry 인스턴스입니다.An IPHostEntry instance that contains address information about the host specified in address.

예외

addressnull인 경우address is null.

address을 확인할 때 오류가 발생한 경우An error is encountered when resolving address.

address가 잘못된 IP 주소인 경우address is an invalid IP address.

예제

다음 코드 예제에서는 GetHostEntry 메서드를 사용 하 여 IP 주소를 IPHostEntry 인스턴스로 확인 합니다.The following code example uses the GetHostEntry method to resolve an IP address to an IPHostEntry instance.

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

        Console::WriteLine("GetHostEntry({0}) returns HostName: {1}", address->ToString(), host->HostName);
    }
public static void DoGetHostEntry(IPAddress address)
{
    IPHostEntry host = Dns.GetHostEntry(address);

    Console.WriteLine($"GetHostEntry({address}) returns HostName: {host.HostName}");
}
Public Sub DoGetHostEntry(address As IPAddress)

    Dim host as IPHostEntry = Dns.GetHostEntry(address)

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

End Sub

설명

GetHostEntry 메서드는 IP 주소 및 ip 주소와 연결 된 별칭에 대 한 DNS 서버를 쿼리 합니다.The GetHostEntry method queries a DNS server for the IP addresses and aliases associated with an IP address.

IPv6 주소는 로컬 컴퓨터에 i p v 6이 설치 되어 있지 않은 경우 GetHostEntry 방법의 결과에서 필터링 됩니다.IPv6 addresses are filtered from the results of the GetHostEntry method if the local computer does not have IPv6 installed. 따라서 address 매개 변수에 IPv6 결과만 사용할 수 있는 경우 빈 IPHostEntry 인스턴스를 다시 가져올 수 있습니다.As a result, it is possible to get back an empty IPHostEntry instance if only IPv6 results were available for the address parameter.

반환 된 IPHostEntry 인스턴스의 Aliases 속성은이 메서드로 채워지지 않으며 항상 비어 있습니다.The Aliases property of the IPHostEntry instance returned is not populated by this method and will always be empty.

참고

이 멤버는 애플리케이션에서 네트워크 추적을 사용 하도록 설정 하면 추적 정보를 내보냅니다.This member emits trace information when you enable network tracing in your application. 자세한 내용은 .NET Framework의 네트워크 추적합니다.For more information, see Network Tracing in the .NET Framework.

보안

DnsPermission
DNS 정보에 액세스 합니다.for accessing DNS information. 연결 된 열거형: UnrestrictedAssociated enumeration: Unrestricted

GetHostEntry(String)

호스트 이름 또는 IP 주소를 IPHostEntry 인스턴스로 확인합니다.Resolves a host name or IP address to an IPHostEntry instance.

public:
 static System::Net::IPHostEntry ^ GetHostEntry(System::String ^ hostNameOrAddress);
public static System.Net.IPHostEntry GetHostEntry (string hostNameOrAddress);
static member GetHostEntry : string -> System.Net.IPHostEntry
Public Shared Function GetHostEntry (hostNameOrAddress As String) As IPHostEntry

매개 변수

hostNameOrAddress
String

확인할 호스트 이름 또는 IP 주소입니다.The host name or IP address to resolve.

반환

hostNameOrAddress에 지정된 호스트의 주소 정보를 포함하는 IPHostEntry 인스턴스입니다.An IPHostEntry instance that contains address information about the host specified in hostNameOrAddress.

예외

hostNameOrAddress 매개 변수가 null인 경우The hostNameOrAddress parameter is null.

hostNameOrAddress 매개 변수의 길이가 255자를 초과하는 경우The length of hostNameOrAddress parameter is greater than 255 characters.

hostNameOrAddress 매개 변수를 확인할 때 오류가 발생한 경우An error was encountered when resolving the hostNameOrAddress parameter.

hostNameOrAddress 매개 변수가 잘못된 IP 주소인 경우The hostNameOrAddress parameter is an invalid IP address.

예제

다음 예제에서는 GetHostEntry 메서드를 사용 하 여 IP 주소를 IPHostEntry 인스턴스로 확인 합니다.The following example uses the GetHostEntry method to resolve an IP address to an IPHostEntry instance.

public:
    static void DoGetHostEntry(String^ hostname)
    {
        IPHostEntry^ host = Dns::GetHostEntry(hostname);

        Console::WriteLine("GetHostEntry({0}) returns:", host->HostName);

        for (int i = 0; i < host->AddressList->Length; i++)
        {
            Console::WriteLine("    {0}", host->AddressList[i]->ToString());			
        }
    }
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}");
    }
}
Public Sub DoGetHostEntry(hostName As String)

    Dim host as IPHostEntry = Dns.GetHostEntry(hostname)

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

    Dim addresses As IPAddress() = host.AddressList

    Dim index As Integer
    For index = 0 To addresses.Length - 1
        Console.WriteLine($"    {addresses(index)}")
    Next index

End Sub

설명

GetHostEntry 메서드는 DNS 서버에서 호스트 이름 또는 IP 주소와 연결 된 IP 주소를 쿼리 합니다.The GetHostEntry method queries a DNS server for the IP address that is associated with a host name or IP address.

빈 문자열이 hostNameOrAddress 인수로 전달 되는 경우이 메서드는 로컬 호스트의 IPv4 및 IPv6 주소를 반환 합니다.If an empty string is passed as the hostNameOrAddress argument, then this method returns the IPv4 and IPv6 addresses of the local host.

호스트 이름을 찾을 수 없는 경우 SocketException 예외가 11001 (Windows 소켓 오류 WSAHOST_NOT_FOUND) 값으로 반환 됩니다.If the host name could not be found, the SocketException exception is returned with a value of 11001 (Windows Sockets error WSAHOST_NOT_FOUND). 이 예외는 DNS 서버가 응답 하지 않는 경우에 반환 될 수 있습니다.This exception can be returned if the DNS server does not respond. 이 예외는 이름이 공식 호스트 이름 또는 별칭이 아니거나 쿼리 중인 데이터베이스에서 찾을 수 없는 경우에도 반환 될 수 있습니다.This exception can also be returned if the name is not an official host name or alias, or it cannot be found in the database(s) being queried.

hostNameOrAddress 매개 변수에 Any 또는 IPv6Any포함 된 경우에도 ArgumentException 예외가 반환 됩니다.The ArgumentException exception is also returned if the hostNameOrAddress parameter contains Any or IPv6Any.

GetHostEntry 메서드 가정 IP 리터럴 문자열을 전달 하는 경우는 hostNameOrAddress 애플리케이션에서 필요로 하는 매개 변수는 IPHostEntry 속성 집합의 모든 인스턴스를 반환 합니다.The GetHostEntry method assumes that if an IP literal string is passed in the hostNameOrAddress parameter that the application wants an IPHostEntry instance returned with all of the properties set. 이러한 속성에는 AddressList, AliasesHostName포함 됩니다.These properties include the AddressList, Aliases, and HostName. 따라서 GetHostEntry 메서드의 구현은 IP 문자열 리터럴이 전달 될 때 다음 동작을 보여 주는 것입니다.As a result, the implementation of the GetHostEntry method exhibits the following behavior when an IP string literal is passed:

  1. 메서드는 주소를 구문 분석 하려고 합니다.The method tries to parse the address. hostNameOrAddress 매개 변수에 올바른 IP 문자열 리터럴이 포함 된 경우 첫 번째 단계가 성공 합니다.If the hostNameOrAddress parameter contains a legal IP string literal, then the first phase succeeds.

  2. IP 문자열 리터럴의 IP 주소를 사용 하는 역방향 조회가 호스트 이름을 가져오려고 시도 합니다.A reverse lookup using the IP address of the IP string literal is attempted to obtain the host name. 이 결과는 HostName 속성으로 설정 됩니다.This result is set as the HostName property.

  3. 이 역방향 조회의 호스트 이름은 이름과 연결 된 모든 가능한 IP 주소를 가져오고 AddressList 속성으로 설정 하는 데 다시 사용 됩니다.The host name from this reverse lookup is used again to obtain all the possible IP addresses associated with the name and set as the AddressList property.

IPv4 문자열 리터럴의 경우 위의 세 단계는 모두 성공할 수 있습니다.For an IPv4 string literal, all three steps above may succeed. 그러나 실제로는 다른 호스트에 실제로 속해 있는 IPv4 주소에 대해 오래 된 DNS 레코드를 사용할 수 있습니다.But it is possible for a stale DNS record for an IPv4 address that actually belongs to a different host to be returned. 이로 인해 #3 단계가 실패 하 고 예외를 throw 할 수 있습니다 (IPv4 주소에 대 한 DNS PTR 레코드가 있지만 IPv4 주소에 대 한 DNS A 레코드는 없음).This may cause step #3 to fail and throw an exception (there is a DNS PTR record for the IPv4 address, but no DNS A record for the IPv4 address).

I p v 6의 경우 대부분의 IPv6 배포에서 IPv6 주소에 대 한 역방향 (PTR) 레코드를 등록 하지 않으므로 위의 #2 단계가 실패할 수 있습니다.For IPv6, step #2 above may fail, since most IPv6 deployments do not register the reverse (PTR) record for an IPv6 address. 따라서이 메서드는 HostName 속성에서 FQDN (정규화 된 도메인) 호스트 이름으로 문자열 IPv6 리터럴을 반환할 수 있습니다.So this method may return the string IPv6 literal as the fully-qualified domain (FQDN) host name in the HostName property.

GetHostAddresses 메서드는 IP 리터럴에 대해 서로 다른 동작을 포함 합니다.The GetHostAddresses method has different behavior with respect to IP literals. 위의 #1 성공한 경우 (IP 주소로 성공적으로 구문 분석 됨) 해당 주소는 결과로 즉시 반환 됩니다.If step #1 above succeeds (it successfully parses as an IP address), that address is immediately returned as the result. 역방향 조회에는 시도 하지 않습니다.There is no attempt at a reverse lookup.

IPv6 주소는 로컬 컴퓨터에 i p v 6이 설치 되어 있지 않은 경우 GetHostEntry 방법의 결과에서 필터링 됩니다.IPv6 addresses are filtered from the results of the GetHostEntry method if the local computer does not have IPv6 installed. 따라서 IPv6 결과만 hostNameOrAddress. 매개 변수에 사용할 수 있는 경우 빈 IPHostEntry 인스턴스를 다시 가져올 수 있습니다.As a result, it is possible to get back an empty IPHostEntry instance if only IPv6 results where available for the hostNameOrAddress.parameter.

반환 된 IPHostEntry 인스턴스의 Aliases 속성은이 메서드로 채워지지 않으며 항상 비어 있습니다.The Aliases property of the IPHostEntry instance returned is not populated by this method and will always be empty.

참고

이 멤버는 애플리케이션에서 네트워크 추적을 사용 하도록 설정 하면 추적 정보를 내보냅니다.This member emits trace information when you enable network tracing in your application. 자세한 내용은 .NET Framework의 네트워크 추적합니다.For more information, see Network Tracing in the .NET Framework.

보안

DnsPermission
DNS 정보에 액세스 합니다.for accessing DNS information. 연결 된 열거형: UnrestrictedAssociated enumeration: Unrestricted

적용 대상