dig-基本使用
dig:Domain Information Groper,是一个DNS查询工具
1:使用google的域名服务器:查询特定域名的A记录
[root@localhost ~]# dig @8.8.8.8 www.baidu.com A ###格式:dig @dnsserver name querytype
###如果没有设置@dnsserver,则会依次使用/etc/resolv.conf来解析
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> @8.8.8.8 www.baidu.com A
###dig这个程序的版本号和要查询的域名
; (1 server found) ### 1个结果
;; global options: +cmd ###表示可以在命令后面加的命令
;; Got answer: ###获取到的结果
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20306
### 返回信息的头部
###opcode: 操作码,QUERY,代表是查询操作;
###status: 状态,NOERROR,代表没有错误;
###id: 编号:20306 ,16 bit数字,在dns协议中,通过编号匹配返回和查询.
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
###flags: 标志,如果出现就表示有标志,如果不出现,就表示为设置标志:
###qr query,查询标志,代表是查询操作
###rd recursion desired,代表希望进行递归查询操作;
###ra recursive available在返回中设置,代表查询的服务器支持递归查询操作;
###aa Authoritative Answer权威回复,如果查询结果由管理域名的域名服务器而不是缓存服务器提供的,则称为权威回复
### QUERY 查询数,1代表一个查询,对应下面QUESTION SECTION的记录数
### ANSWER 结果数,3代表有3个结果,对应下面的ANSWER SECTION中的记录数
### AUTHORITY 权威域名服务器记录数,0代表该域名有0个权威域名服务器。对应下面AUTHORITY SECTION
### ADDITIONAL 格外记录数,1代表有1项格外记录。对应下面 ADDITIONAL SECTION。
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 795 IN CNAME www.a.shifen.com. ###别名
www.a.shifen.com. 201 IN A 14.215.177.38
www.a.shifen.com. 201 IN A 14.215.177.39
###权威域名部分,回应都是NS记录(Name Server),NS记录从左到右各部分意义:
1、对应的域名,这里是baidu.com.,'.'代表根域名,com顶级域名,baidu二级域名,www三级域名
2、TTL,time ro live,缓存时间,单位秒。795,代表缓存域名服务器,可以在缓存中保存63948秒
该记录。
3、class,要查询信息的类别,IN代表类别为IP协议,即Internet。还有其它类别,比如chaos等,由于
现在都是互联网,所以其它基本不用。
4、type,要查询的记录类型,NS,Name Server,NS记录,代表该记录描述了域名对应的权威域名
解析服务器
5、域名对应域名对应的权威域名解析服务器。
;; Query time: 23 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Nov 03 10:39:08 EST 2019
;; MSG SIZE rcvd: 101
###回应的大小。收到(rcvd, recieved)101字节
2:用-f选项实现批量查询---从一个文件里面读取内容查询
[root@localhost ~]# cat querylist
www.baidu.com
www.zhihu.com
[root@localhost ~]# dig -f querylist -t A ###:默认查询类型为A记录
[root@localhost ~]# dig -f querylist -t MX ###-t:查询类型为MX
...省略了查询结果
3:-x 反向解析:查询ip地址到域名的映射关系
[root@localhost ~]# dig -x 8.8.8.8 +short ### +short不要分开写
dns.google. ###googleDNS,可以放心使用
4:查询选项:要求显示的在前面加上'+'来识别
[root@localhost ~]# dig -x 8.8.8.8 +short
dns.google.
[root@localhost ~]# dig +tcp @8.8.8.8 www.baidu.com ###默认是udp查询
5:+trace:跟踪dig查询全过程
[root@localhost ~]# dig +trace www.baidu.com