咱們在平常上網時都是用域名訪問網路,如www.baidu.com,而在實際尋址過程當中,是使用IP地址,如180.101.49.11,域名到IP地址的解析是經過DNS服務器來實現的,系統中咱們能夠用一些網絡命令來解析指定的域名。好比說nslookup和dig命令。windows
1.nslookup服務器
1.1 nolookup命令簡介網絡
nslookup命令用於查詢DNS記錄,查看域名解析是否正常,在網絡故障時能夠用來診斷網絡問題。dom
nslookup命令分爲直接查詢和指定參數查詢。工具
直接查詢的語法爲nslookup domain [dns-server],其中domain是要查詢的域名,dns-server是可選字段,默認使用本地DNS服務器解析。spa
指定參數查詢的語法爲 nslookup -qt=type domain [dns-server],其中type表示參數類型,常見類型有:.net
A3d |
地址記錄(IPV4)server |
AAAAblog |
地址記錄(IPV6) |
CNAME |
別名記錄 |
MX |
郵件服務器記錄 |
PTR |
反向記錄 |
1.2 nolookup應用
使用nslookup www.baidu.com 解析百度的域名
其中127.0.1.1是域名服務器地址,端口爲53號,canonical name是別名,Address指的是域名對應的IP地址。
除此以外,咱們能夠指定域名服務器,好比 nslookup www.baidu.com 8.8.8.8
而後再使用指定參數查詢,如 nslookup -q=AAAA www.ustc.edu.cn的IPV6地址(注:Linux下使用nslookup -q=type domain)
咱們能夠查詢到對應的IPV6地址。此外咱們還能夠使用MX參數解析郵件服務器的地址,使用PTR參數經過IP地址反向解析出域名,此處再也不贅述。
2. dig
2.1 dig簡介
除了經常使用的nslookup以外,有一個更爲強大的命令dig,dig是UNIX/BSD系統都自帶的DNS診斷工具,使用起來比較靈活,功能也足夠強大,windows下的nslookup功能比較簡單,Linux下的dig命令支持更多DNS查詢功能,好比DNS跟蹤,一半使用dig domain +trace進行DNS解析跟蹤。
當本地的DNS服務器去訪問一個域名的時候,整個域名解析的完整過程以下:
2.2 dig應用
咱們結合具體的例子來看一下DNS解析域名的具體過程
首先在終端輸入dig www.ustc.edu.cn +trace
能夠看出從本地的DNS服務器127.0.1.1返回了13個根域名服務器信息,系統從13個根服務器隨機選擇一個進行訪問。
咱們能夠看到系統隨機選擇了根域名服務器i.root-servers.net,並返回了.cn域名服務器列表。
系統選擇了d.dns.cn並放回了edu.cn教育網的域名服務器列表。
接下來系統訪問denb.dfn.de並返回了ustc.edu.cn 中科大的域名服務器列表。
最終系統選擇了ns.ustc.edu.cn域名服務器並返回了最終結果,咱們能夠獲得中科大官網的IP地址爲218.22.21.21