zoukankan      html  css  js  c++  java
  • VC++获取DNS服务器地址



    DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
     DNS 是计算机域名系统 (Domain Name System 或Domain Name Service) 的缩写,它是由解析器以及域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。[1]
      其中域名必须对应一个IP地址,而IP地址不一定只对应一个域  动态dns名。域名系统采用类似目录树的等级结构。域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器。在Internet上域名与IP地址之间是一对一(或者多对一)的,也可采用DNS轮询实现一对多,域名虽然便于人们记忆,但机器之间只认IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。DNS 命名用于 Internet的 TCP/IP网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入 DNS 名称时,DNS 服务可以将此名称解析为与之相关的其他信息,如 IP 地址。因为,你在上网时输入的网址,是通过域名解析系统解析找到了相对应的IP地址,这样才能上网。其实,域名的最终指向是IP。[2]
      在IPV4中IP是由32位二进制数组成的,将这32位二进制数分成4组每组8个二进制数,将这8个二进制数转化成十进制数,就是我们看到的IP地址,其范围是在0~255之间。因为,8个二进制数转化为十进制数的最大范围就是0~255。现在已开始试运行、将来必将代替IPv4的IPV6中,将以128位二进制数表示一个IP地址。






    #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 \n");
    		return -1;
    	}
    
    	// 主机名称
    	printf(" Host Name: %s \n", fi.HostName);
    
    	// 电脑注册的域名
    	printf(" Domain Name: %s \n", fi.DomainName);
    
    	// 打印出所有的DNS服务器
    	printf(" DNS Servers: \n");
    	printf(" \t%s \n", fi.DnsServerList.IpAddress.String);
    	IP_ADDR_STRING *pIPAddr = fi.DnsServerList.Next;
    	while(pIPAddr != NULL)
    	{
    		printf(" \t%s \n", pIPAddr->IpAddress.String);
    		pIPAddr = pIPAddr->Next;
    	}
    
    	return 0;
    }
    


  • 相关阅读:
    利用定时器实时显示<input type="range"/>的值
    javascript日常总结
    SpringCloud如何上传大文件
    SpringBoot如何上传大文件
    SpringMVC如何上传大文件
    CSharp如何上传大文件
    C#如何上传大文件
    C#.NET如何上传大文件
    .NET如何上传大文件
    word文档的图片怎么保存到动易CMS上
  • 原文地址:https://www.cnblogs.com/new0801/p/6177667.html
Copyright © 2011-2022 走看看