DNS(Domain Name System,域名系统)也许是我们在网络中最常用到的服务,它把容易记住的域名,如 www.google.com 翻译成人类不易记住的IP地址,如 173.194.127.132,以便在方便人类输入的基础上让计算机能够精确地在网络中找到目标机器。dig(Domain Information Groper)是一个比较常用的 dns 分析及调试工具,一般 Linux 和 Mac 都已默认安装。
DNS解析
如果想知道 www.waltersun.cn 被解析到什么IP地址,可以用如下命令(ping命令也可以,但本文专注于dig命令)
[walter@B-Q9VTML85-1821 ~ % dig www.waltersun.cn +noall +answer
; <<>> DiG 9.10.6 <<>> www.waltersun.cn +noall +answer
;; global options: +cmd
www.waltersun.cn. 230 IN A 118.195.145.14
参数 +noall 和 +answer 只是为了输出更精简。
先忽略第3、4行,着重看最后一行,它分为5部分:
- 第1部分是我们查询的域名;
- 第2部分是缓存失效时间ttl(秒),暂且不关心;
- 第3部分是 IN,表示类别 Internet,一般也都是这个类别;
- 第4部分很重要,表示这行记录的种类(type),该行种类是 A(Address),说明这是一个A记录,描述域名对应的地址;
- 第5部分好理解,就是地址了。(119.195.145.14 就是我的网站公网 IP)
dig命令
dig 命令是如何知道域名所对应的 IP 地址的呢?可以加上 +stats 参数,让 dig 打印基本的统计信息。
[walter@B-Q9VTML85-1821 ~ % dig www.waltersun.cn +noall +answer +stats
; <<>> DiG 9.10.6 <<>> www.waltersun.cn +noall +answer +stats
;; global options: +cmd
www.waltersun.cn. 1 IN A 118.195.145.14
;; Query time: 70 msec
;; SERVER: 223.5.5.5#53(223.5.5.5)
;; WHEN: Fri Apr 29 20:06:32 CST 2022