DNS在线查询工具
关于DNS在线查询工具:
这个在线DNS查询工具从Linux服务器返回DNS查询结果.您可以选择DNS查询类型(默认类型A),并查询任何五个公共DNS服务器(默认谷歌公共DNS服务器). 支持DNS类型:
DNS类型 | 简介 |
---|---|
A | 指定域名对应的IPv4地址 |
AAAA | 指定域名对应的IPv6地址 |
CNAME | 别名记录 |
MX | 邮件交换记录 |
NS | 指定该域名由哪个DNS服务器来进行解析 |
TXT | 主机名或域名的说明 |
SOA | 起始授权机构 |
PTR | 反向IP查询 |
ANY | 所有DNS记录类型 |
DNS查询需不需要加www.前缀?
在大多数情况下,带有或不带www
前缀的DNS查询都可以正常返回结果, 但是没有www
前缀的DNS查询通常会返回有关域名的更多信息, 这是因为有www
前缀的域名是二级域名.
为什么需要使用DNS查询?
当您想在线查看facebook时,您可能无法记住facebook网站的IP地址"31.13.67.35"
,而是在浏览器中输入"facebook.com"
. 域名对于人而言更容易记住,但对于机器而言,机器更喜欢通过IP地址与其他机器通信.
您在浏览器中点击进入Facebook,您的浏览器会自动执行DNS查询并获取IP地址"31.13.67.35"
.
DNS查询将域名转换为机器可理解的IP地址. 但DNS查询的功能不限于此,但NsLookup可以找到域名的邮件服务器,域名的IPv6地址等等.
DNS查询也用于专业领域. 在证明域名拥权的过程中,添加TEXT类型的DNS记录可以证明您的域名所有权(如果您从Godaddy购买域名,则可以在Godaddy的DNS服务器中设置DNS记录).
使用Cloudflare隐藏您的网站真实DNS记录:
Cloudflare可以通过其CDN(全球内容分发网络)转发您网站的流量,在DNS查询结果中使用Cloudflare的IP替换您的Web服务器的真实IP地址. 可以将将您域名的DNS服务器指向Cloudflare的DNS服务器.
您应该使用哪个DNS服务器?
DNS服务器的权限对于Internet的安全性至关重要. 错误的DNS结果可能会导致您进入错误的网站. 世界各地共有13
个根服务器. 与此同时,谷歌等大公司提供免费的公共DNS服务(8.8.8.8)供日常使用.
默认情况下,如果您未在计算机中设置默认DNS服务器,则您的ISP(Internet服务提供商)将为您指定DNS服务器,尽管它可能不如Google的公共DNS服务(8.8.8.8)可靠. DNS服务器很容易设置,你应将计算机的默认DNS服务器更改为其中一个公共DNS服务器.
更多关于DNS查询的链接:
维基百科 (DNS): https://en.wikipedia.org/wiki/Domain_Name_System
RFC 1035 (DNS): https://www.ietf.org/rfc/rfc1035.txt
Linux系统中的DNS查询: https://linux.die.net/man/1/nslookup
Windows系统中的DNS查询: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/nslookup
Linux系统中的DNS查询命令(nslookup):
NAME nslookup - query Internet name servers interactively SYNOPSIS nslookup [-option] [name | -] [server]
root@instance-2:/var/log/apache2# nslookup -type=any facebook.com 8.8.8.8 Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: facebook.com nameserver = a.ns.facebook.com. facebook.com nameserver = b.ns.facebook.com. facebook.com text = "v=spf1 redirect=_spf.facebook.com" facebook.com mail exchanger = 10 msgin.vvv.facebook.com. facebook.com origin = a.ns.facebook.com mail addr = dns.facebook.com serial = 1530053366 refresh = 14400 retry = 1800 expire = 604800 minimum = 300 Name: facebook.com Address: 2a03:2880:f12c:183:face:b00c:0:25de Name: facebook.com Address: 157.240.14.35 Authoritative answers can be found from:
用Python进行DNS查询 (用 package dnspython):
# pip install dnspython import dns.resolver def nslookup(domain, record_type): dns_resolver = dns.resolver.Resolver() answers = dns_resolver.query(domain, record_type) for answer in answers: print('Domain:{0} Record Type:{1} Answer:{2}'.format(domain, record_type, answer)) if __name__ == "__main__": # dns lookup domain nslookup('coding.tools', 'A') ------------------- Domain:coding.tools Record Type:A Answer:104.27.176.94 Domain:coding.tools Record Type:A Answer:104.27.177.94
用Java进行DNS查询 (用 package java.net.InetAddress):
import java.io.IOException; import java.net.InetAddress; public class DNS { public static void nslookup(String domain) throws IOException { InetAddress[] remote_hosts = InetAddress.getAllByName(domain); for (InetAddress remote_host : remote_hosts) { System.out.println("Domain:" + domain + " IP Address:" + remote_host.getHostAddress()); } } public static void main(String[] args) throws IOException { // dns lookup domain nslookup("coding.tools"); } } ------------------- Domain:coding.tools IP Address:104.27.176.94 Domain:coding.tools IP Address:104.27.177.94