利用DNSQuery 进行DNS查询

Posted prairieNew

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用DNSQuery 进行DNS查询相关的知识,希望对你有一定的参考价值。

#include <WinSock2.h>
#include <WinDNS.h>
#pragma comment (lib, "Dnsapi.lib")
#pragma comment (lib, "ws2_32.lib")


int _tmain(int argc, _TCHAR* argv[])
{
	PDNS_RECORD pResult = NULL;
	DNS_STATUS dnsStatus = 0;
	//DNS_QUERY_STANDARD 会首从缓存中查询,如果没有查到才发起dns查询,
	dnsStatus = DnsQuery_A("www.baidu.com", DNS_TYPE_A, DNS_QUERY_BYPASS_CACHE/*DNS_QUERY_STANDARD*/, NULL, &pResult, NULL);
	PDNS_RECORD temp = pResult;
	while (temp)
	{
		IN_ADDR ipaddr;
		ipaddr.S_un.S_addr = temp->Data.A.IpAddress;
		char *pAddr = inet_ntoa(ipaddr);
		printf("Addr:%s 
", pAddr);
		temp = temp->pNext;
	}
	
	DnsRecordListFree(pResult, DnsFreeRecordListDeep);

}

 

以上是关于利用DNSQuery 进行DNS查询的主要内容,如果未能解决你的问题,请参考以下文章

DDoS攻击与防御

dnsquery - 使用解析程序查询域名服务器

来自实例方法的具有静态 void 的 Objective C Cordova 回调

如何利用dns漏洞入侵

学习笔记计算机网络-DNS层次查询

How to solve the problem that Github can't visit in China?