VC++ DNS 서버 주소 가져오기

1979 단어
DNS는 도메인네임시스템(Domain Name System)의 약자로 인터넷의 핵심 서비스로 도메인네임과 IP 주소를 서로 비추는 분포식 데이터베이스로서 인터넷에 더욱 편리하게 접근할 수 있으며 기계가 직접 읽을 수 있는 IP 문자열을 기억하지 않아도 된다.DNS는 컴퓨터 도메인 이름 시스템(Domain Name System 또는 Domain Name Service)의 약자로 해석기와 도메인 이름 서버로 구성되어 있습니다.도메인네임 서버는 해당 네트워크에 있는 모든 호스트의 도메인네임과 해당 IP 주소를 저장하고 도메인네임을 IP 주소로 변환하는 기능을 가진 서버입니다.[1] 그 중에서 도메인 이름은 반드시 하나의 IP 주소에 대응해야 하고 IP 주소는 반드시 하나의 도메인 동적 dns 이름에만 대응하는 것은 아니다.도메인 이름 시스템은 디렉터리 트리와 유사한 등급 구조를 채택한다.도메인 이름 서버는 클라이언트/서버 모델의 서버 측으로 주로 두 가지 형식이 있는데 그것이 바로 메인 서버와 전송 서버이다.인터넷상에서 도메인 이름과 IP 주소 사이는 일대일(또는 다대일)일 수도 있고 DNS 퀴즈로 일대일을 실현할 수도 있다. 도메인 이름은 사람들이 기억하기 편리하지만 기계 간에 IP 주소만 인식한다. 그들 사이의 전환 작업을 도메인 이름 해석이라고 한다. 도메인 이름 해석은 전문적인 도메인 이름 해석 서버로 완성해야 한다. DNS는 도메인 이름 해석을 하는 서버이다.DNS 이름은 인터넷에 사용되는 TCP/IP 네트워크에서 사용자 친화적인 이름으로 컴퓨터와 서비스를 찾습니다.사용자가 응용 프로그램에 DNS 이름을 입력할 때 DNS 서비스는 이 이름을 IP 주소와 같은 다른 정보로 해석할 수 있습니다.네가 인터넷에 접속할 때 입력한 인터넷 주소는 도메인 이름 해석 시스템 분석을 통해 해당하는 IP 주소를 찾았기 때문에 인터넷에 접속할 수 있다.사실 도메인 이름의 최종 지향은 IP입니다.[2] IPV4에서 IP는 32비트 2진수로 구성되어 있는데 이 32비트 2진수를 4개 조로 나누어 8개의 2진수로 바꾸고 이 8개의 2진수를 10진수로 전환시킨다. 바로 우리가 본 IP 주소인데 그 범위는 0~255사이이다.8개의 이진수가 10진수로 바뀌는 최대 범위가 0~255이기 때문이다.이제 파일럿이 시작되고 IPv4를 대체할 IPV6에는 IP 주소가 128비트 바이너리로 표시됩니다.
#include <stdio.h>
#include <windows.h>
#include <Iphlpapi.h>

#pragma comment(lib, "Iphlpapi.lib")


int main()
{
	FIXED_INFO fi;
	ULONG ulOutBufLen = sizeof(fi);

	//  
	if(::GetNetworkParams(&fi, &ulOutBufLen) != ERROR_SUCCESS)
	{
		printf(" GetNetworkParams() failed 
"); return -1; } // printf(" Host Name: %s
", fi.HostName); // printf(" Domain Name: %s
", fi.DomainName); // DNS printf(" DNS Servers:
"); printf(" \t%s
", fi.DnsServerList.IpAddress.String); IP_ADDR_STRING *pIPAddr = fi.DnsServerList.Next; while(pIPAddr != NULL) { printf(" \t%s
", pIPAddr->IpAddress.String); pIPAddr = pIPAddr->Next; } return 0; }

좋은 웹페이지 즐겨찾기