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