C++通过命令行实现dns域名解析

Posted Harris-H

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++通过命令行实现dns域名解析相关的知识,希望对你有一定的参考价值。

C++通过命令行实现dns域名解析

思路

使用 s t d l i b . h stdlib.h stdlib.h下的system 函数。

调用命令行自带函数:nslookup

来查找对应的域名。

代码

#include<cstdio>
#include<string>
#include<iostream>
using namespace std;
void findDNS(string domin_name) {
	domin_name = "nslookup " + domin_name;
	system(domin_name.c_str());
}
int main() {
	system("ipconfig /all");
	printf("请输入你要查找的域名: ");
	string domin_name;
	cin >> domin_name;
	findDNS(domin_name);
}

运行结果如下

关于nslookup的使用

可选参数: − q t = t y p e -qt=type qt=type

A 地址记录(直接查询默认类型)

AAAA 地址记录

AFSDB Andrew文件系统数据库服务器记录

ATMA ATM地址记录

CNAME 别名记录

HINFO 硬件配置记录,包括CPU、操作系统信息

ISDN 域名对应的ISDN号码

MB 存放指定邮箱的服务器

MG 邮件组记录

MINFO 邮件组和邮箱的信息记录

MR 改名的邮箱记录

MX 邮件服务器记录

NS 名字服务器记录

PTR 反向记录

RP 负责人记录

RT 路由穿透记录

SRV TCP服务器信息记录

TXT 域名对应的文本信息

X25 域名对应的X.25地址记录


返回的信息说明

服务器:本机DNS服务器信息

非权威应答:Non-authoritative answer,除非实际存储DNS Server中获得域名解析回答的,都称为非权威应答。也就是从缓存中获取域名解析结果。

address:目标域名对应物理IP可有多个

aliase:目标域名


以上是关于C++通过命令行实现dns域名解析的主要内容,如果未能解决你的问题,请参考以下文章

nslookup命令详解

讲清楚,说明白!DNS域名解析服务实现原理之二--智能解析

https网络编程——DNS域名解析获取IP地址

https网络编程——DNS域名解析获取IP地址

图解 DNS 域名解析与负载均衡

讲清楚,说明白!DNS域名解析服务实现原理