什么是DNS的正向解析与反向解析?代码实现? |
您所在的位置:网站首页 › dns域名解析ip › 什么是DNS的正向解析与反向解析?代码实现? |
DNS采用C/S机制。实现域名与IP地址转换。DNS服务器用于存储资源记录并提供名称查询服务,DNS客户端也称解析程序,用来插叙服务器并获取名称解析信息。 正向解析与反向解析 按照DNS查询目的,可将DNS解析分为以下两种类型。 正向解析![]() 根据计算机的DNS名称(即域名)解析出相应的IP地址。 大部分DNS解析都是正向解析,即根据DNS域名查询对应的IP地址及其他相关信息。正向解析又称标准查询。正向解析记录存储在正向解析区域文件中。 反向解析![]() 根据计算机的IP地址解析其DNS名称,多用来为服务器进行身份验证。 有时我们也会用到反向解析,即通过IP地址查询对应的域名,最典型的就是判断IP地址所对应的域名是否合法。由于反向解析的特殊性,RFC 1304规定了固定格式的反向解析区域后缀格式in-addr.arpa 与DNS名称不同,当IP地址从左到右读时,它们是以相反的方式解释的,所以对每个8位字节值需要使用域的反序,因此建立 in-addr-arpa。 反向解析区域文件与正向解析区域文件格式相同,只是其主要内容是用于建立IP地址到DNS域名的转换记录,即PTR资源指针记录。PTR资源指针记录和A资源记录正好相反,它是将IP地址解析成DNS域名的资源记录。 域名解析的具体过程 域名系统 (DNS) 旨在将主机名解析为 IP 地址。 将名称解析为 IP 地址的过程称为“正向解析”。 DNS 树被组织成一个倒置的树结构,地址的最不具体的部分在顶部,地址的最具体的部分在底部。 正向解析可以通过主机名获取其对应的广域网IP地址,使用 nslookup 命令在 Linux上输入 nslookup 【domain】 从返回的信息中可以看到正向解析的结果。 如何做反向DNS? 我们可以通过命令来执行反向 DNS 查找 1、使用 nslookup 命令 2、使用 dig 命令 3、使用 rDNS 查找工具 反向 DNS 查找命令 nslooup命令 nslookup最简单的用法是查询域名对应的IP地址,也可以使用IP地址查找域名,例如: nslookup [ip_address] 使用nslookup可以输出返回指定 IP 地址的域名。 由于在域名系统中,一个IP地址可以对应多个域名,因此从IP出发去找域名,理论上应该遍历整个域名树,但这在Internet上是不现实的。为了完成逆向域名解析,系统提供一个特别域,该特别域称为逆向解析域in-addr.arpa。
dig命令 Linux下解析域名除了使用nslookup之外,还可以使用dig命令来解析域名,dig命令可以得到更多的域名信息。 dig命令是一个用于询问 DNS 域名服务器的灵活的工具。常见使用: dig -x [ip_address] 更多关于dig命令,可以查找man手册。 dig -x 8.8.8.8
DNS反向解析实现 int main(int argc, char* argv[]) { int ret = 0; DNS_QUERY query; /* 只接受一个命令行参数 */ if (argc != 2 || (argc == 2 && argv[1][0] == '-')) { fprintf(stderr, "usage: %s [DOMAIN | IP]\n\n", argv[0]); return -1; } /* 从传递的域(或 IP)创建 DNS_QUERY */ query = createQuery(argv[1]); /* DNS 查询的十六进制转储 */ printf("\nDNS Query (%i bytes):\n", query.len); if (query.len == 0) return -1; hexDump(query.bytes, query.len); ret = dnsLookup(&query); if (ret == -1) { printf("dnsLookup fail!!!\n"); return -1; } printf("\n"); return 0; }编译运行 总结 反向 DNS 是从 IP 地址对域名的 DNS 查找。 常规 DNS 请求从域名解析 IP 地址,而 rDNS 则相反,因此名称相反。 域名是为了方便记忆而专门建立的一套地址转换系统,要访问一台互联网上的服务器,最终还必须通过IP地址来实现,域名解析就是将域名重新转换为IP地址的过程。这一过程通过域名解析系统DNS来完成。 欢迎关注微信公众号【程序猿编码】,需要DNS反向源码的添加本人微信号(c17865354792) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |