亚游wwwag8com
你好,游客 登录 注册
背景:
阅读新闻

Linux dig 命令使用详解

[日期:2019-03-03] 来源:Linux公社  作者:醉落红尘 [字体: ]

亚游wwwag8com,值得关注的是,全国多地陆续开展了减刑、假释、暂予监外执行专项检察活动,一些保外就医官员被重新收监。

  中国互联网络信息中心 (CNNIC)2006年1月17日发布第17次中国互联网络发展状况统计报告。本次调查显示,中国内地网民总人数为1.11亿人。以下为:香港互联网使用现状调查报告。春节红包大战来袭 腾讯阿里推出“新套路”“听闻资深冰球迷艾伦·锡克去世的消息,北美冰球职业联赛的大家庭深表心痛。我们与他的家庭和朋友同在。”——北美冰球职业联赛

Linux下解析域名除了使用nslookup之外,开可以使用dig命令来解析域名,dig命令可以得到更多的域名信息。dig 命令主要用来从 DNS 域名服务器查询主机地址信息。

dig的全称是 (domain information groper)。它是一个用来灵活探测DNS的工具。它会打印出DNS name server的回应。

查询单个域名的 DNS 信息

dig 命令最典型的用法就是查询单个主机的信息。

linuxidc@linuxidc:~$ dig www.neurofeedbackconsult.com

; <<>> DiG 9.11.3-1Ubuntu1.5-Ubuntu <<>> 亚游wwwag8com www.neurofeedbackconsult.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17774
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;www.linuxidc.com.  IN A

;; ANSWER SECTION:
www.linuxidc.com. 5 IN A 122.228.238.15
www.linuxidc.com. 5 IN A 106.42.25.203

;; Query time: 10 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Sun Mar 03 10:55:35 CST 2019
;; MSG SIZE  rcvd: 77

Linux dig 命令使用详解

dig 命令默认的输出信息比较丰富,大概可以分为 5 个部分。

第一部分显示 dig 命令的版本和输入的参数。
第二部分显示服务返回的一些技术详情,比较重要的是 status。如果 status 的值为 NOERROR 则说明本次查询成功结束。
第三部分中的 "QUESTION SECTION" 显示我们要查询的域名。
第四部分的 "ANSWER SECTION" 是查询到的结果。
第五部分则是本次查询的一些统计信息,比如用了多长时间,查询了哪个 DNS 服务器,在什么时间进行的查询等等。

默认情况下 dig 命令查询 A 记录,上图中显示的 A 即说明查询的记录类型为 A 记录。在尝试查询其它类型的记录前让我们先来了解一下常见的 DNS 记录类型。

常见 DNS 记录的类型

类型 目的
A 地址记录,用来指定域名的 IPv4 地址,如果需要将域名指向一个 IP 地址,就需要添加 A 记录。
AAAA 用来指定主机名(或域名)对应的 IPv6 地址记录。
CNAME 如果需要将域名指向另一个域名,再由另一个域名提供 ip 地址,就需要添加 CNAME 记录。
MX 如果需要设置邮箱,让邮箱能够收到邮件,需要添加 MX 记录。
NS 域名服务器记录,如果需要把子域名交给其他 DNS 服务器解析,就需要添加 NS 记录。
SOA SOA 这种记录是所有区域性文件中的强制性记录。它必须是一个文件中的第一个记录。
TXT 可以写任何东西,长度限制为 255。绝大多数的 TXT记录是用来做 SPF 记录(反垃圾邮件)。

查询 CNAME 类型的记录

除了 A 记录,常见的 DNS 记录还有 CNAME,我们可以在查询时指定要查询的 DNS 记录类型:

linuxidc@linuxidc:~$ dig m.linuxidc.com CNAME

; <<>> DiG 9.11.3-1ubuntu1.5-Ubuntu <<>> m.linuxidc.com CNAME
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61349
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;m.linuxidc.com.   IN CNAME

;; Query time: 26 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Sun Mar 03 11:20:34 CST 2019
;; MSG SIZE  rcvd: 43

Linux dig 命令使用详解

这样结果中就只有 CNAME 的记录。其实我们可以在查询中指定任何 DNS 记录的类型。

从指定的 DNS 服务器上查询

由于一些原因,希望从指定的 DNS 服务器上进行查询(从默认的 DNS 服务器上获得的结果可能不准确)。指定 DNS 服务器的方式为使用 @ 符号:

linuxidc@linuxidc:~$ dig @8.8.8.8 m.linuxidc.com

; <<>> DiG 9.11.3-1ubuntu1.5-Ubuntu <<>> @8.8.8.8 m.linuxidc.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38966
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;m.linuxidc.com.   IN A

;; ANSWER SECTION:
m.linuxidc.com.  199 IN A 122.228.238.71
m.linuxidc.com.  199 IN A 113.107.238.155

;; Query time: 120 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Mar 03 11:21:48 CST 2019
;; MSG SIZE  rcvd: 75

Linux dig 命令使用详解

从上图可以看到本次查询的 DNS 服务器为 8.8.8.8。

如果不指定 DNS 服务器,dig 会依次使用 /etc/resolv.conf 里的地址作为 DNS 服务器:

Linux dig 命令使用详解

linuxidc@linuxidc:~$ dig m.linuxidc.com

上面查询的 DNS 服务器就变成了:

Linux dig 命令使用详解

反向查询

在前面的查询中我们指定了查询服务器为 8.8.8.8,这是谁家的 DNS 服务器?其实我们可以使用 dig 的 -x 选项来反向解析 IP 地址对应的域名:

linuxidc@linuxidc:~$ dig -x 8.8.8.8 +short
google-public-dns-a.google.com.

Linux dig 命令使用详解

好吧,应该是Google的,可以放心使用了。

控制显示结果

dig 命令默认返回的结果展示详细的信息,如果要获得精简的结果可以使用 +short 选项:

linuxidc@linuxidc:~$ dig +short m.linuxidc.com
122.228.238.15
106.119.182.141

Linux dig 命令使用详解

这下显示的结果就清爽多了。
其实我们还可以通过更多选项来控制输出的内容,比如只想显示 "ANSWER SECTION" 的内容:

linuxidc@linuxidc:~$ dig m.linuxidc.com +nocomments +noquestion +noauthority +noadditional +nostats

; <<>> DiG 9.11.3-1ubuntu1.5-Ubuntu <<>> m.linuxidc.com +nocomments +noquestion +noauthority +noadditional +nostats
;; global options: +cmd
m.linuxidc.com.  5 IN A 122.228.238.15
m.linuxidc.com.  5 IN A 106.119.182.141

Linux dig 命令使用详解

这个结果很不错,就是使用的选项太多了(dig 命令有很多这样的选项,详情请参考使用手册)。我们可以换一种优雅一些的方式来实现和上面相同的结果:

linuxidc@linuxidc:~$ dig m.linuxidc.com +noall +answer

; <<>> DiG 9.11.3-1ubuntu1.5-Ubuntu <<>> m.linuxidc.com +noall +answer
;; global options: +cmd
m.linuxidc.com.  5 IN A 113.107.238.212
m.linuxidc.com.  5 IN A 122.228.238.15

Linux dig 命令使用详解

 

跟踪整个查询过程

如果你好奇 dig 命令执行查询时都经历了哪些过程,你可以尝试使用 +trace 选项。它会输出从根域到最终结果的所有信息:

linuxidc@linuxidc:~$ dig sohu.com @202.102.134.68 -p 53 -t MX +trace

; <<>> DiG 9.11.3-1ubuntu1.5-Ubuntu <<>> sohu.com @202.102.134.68 -p 53 -t MX +trace
;; global options: +cmd
.   482761 IN NS f.root-servers.net.
.   482761 IN NS a.root-servers.net.
.   482761 IN NS c.root-servers.net.
.   482761 IN NS b.root-servers.net.
.   482761 IN NS j.root-servers.net.
.   482761 IN NS d.root-servers.net.
.   482761 IN NS k.root-servers.net.
.   482761 IN NS e.root-servers.net.
.   482761 IN NS h.root-servers.net.
.   482761 IN NS i.root-servers.net.
.   482761 IN NS m.root-servers.net.
.   482761 IN NS g.root-servers.net.
.   482761 IN NS l.root-servers.net.
;; Received 239 bytes from 202.102.134.68#53(202.102.134.68) in 40 ms

com.   172800 IN NS d.gtld-servers.net.

Linux dig 命令使用详解

上图中显示的并不是一个完整的结果,感兴趣的朋友可以自己尝试。

显示13个根域服务器

internet上有13个根域服务器,使用不加参数的dig命令显示这些服务器信息

linuxidc@linuxidc:~$ dig

; <<>> DiG 9.11.3-1ubuntu1.5-Ubuntu <<>>
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41525
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;.    IN NS

;; ANSWER SECTION:
.   5 IN NS b.root-servers.net.
.   5 IN NS c.root-servers.net.
.   5 IN NS d.root-servers.net.
.   5 IN NS e.root-servers.net.
.   5 IN NS f.root-servers.net.
.   5 IN NS g.root-servers.net.
.   5 IN NS h.root-servers.net.
.   5 IN NS i.root-servers.net.
.   5 IN NS j.root-servers.net.
.   5 IN NS k.root-servers.net.
.   5 IN NS l.root-servers.net.
.   5 IN NS m.root-servers.net.
.   5 IN NS a.root-servers.net.

;; Query time: 8 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Sun Mar 03 11:37:11 CST 2019
;; MSG SIZE  rcvd: 239

Linux dig 命令使用详解

总结

dig 是一个很给力 DNS 查询工具,本文仅介绍了其常见用法,更多的命令选项及使用方法请查看 man page。

更多Linux命令相关信息见Linux命令大全 专题页面 亚游wwwag8com/wwwd35clinuxidcd35ccom/topicnews.aspx?tid=16

Linux公社的RSS地址亚游wwwag8com/wwwd35clinuxidcd35ccom/rssFeed.aspx

本文永久更新链接地址/wwwd35clinuxidcd35ccom/Linux/2019-03/157239.htm

linux
相关资讯       Linux dig命令  dig命令 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
警方斩断制毒贩毒链条 缴获毒品价值超1.2亿元 吃货福原爱上线!自曝最爱上海口味煎饼果子 [新浪彩票]足彩18033期大势:美因茨看好分胜负 网传“手机能验钞”有用吗?央视记者亲测:不靠谱 2018中国图书阅读报告:朝阳群众爱看悬疑小说 WHO健走活动封涉台标语 台当局欲“蹭会”被打脸 路边捡到1沓“钞票”?大妈反被诓走7000元金项链 媒体:某些中国人为何急于替美欧签定自贸协议? 百度外卖董事长离职 双寡头格局能否撼动 博格巴获力挺 法国主帅:我很清楚博格巴的实力 美拟对中国飞机征税短期无影响 将抬高美制造业成本 易晒黑还是易晒伤?基因的“话语权”不小
胡福明谈《实践是检验真理的唯一标准》:时代产物 9岁小学生沉迷手游 手机被家长藏起后放言要拆家 湖北食药监:武汉生物问题疫苗因分装设备短时故障 评论:青少年沉迷手游 何尝不是一种市场失灵? 五专家热议进球潮:恒大上港引领中超攻击波 美拟对华关税清单:多数商品不直接面向日常消费者 滴滴出行不值得同情,我们的愤怒价值何在? 安徽一学校学生体育课“跪爬”受伤 校方回应(图) 布莱恩兄弟合体推迟 麦克将携手索克战辛辛那提 陆慧明任九:多德勒支主负可胆 洛里昂单挑平局 造假丑闻后神户制钢将任命新社长 欲加紧挽回信誉 简氏:中国第6艘055舰开工 超美最新伯克III驱逐舰
勇士今天连伤了两人!FMVP和超六都崴脚了 甲醇有望见顶回落 一张图看懂:川航客机的风挡玻璃为什么会破裂 物价局关注鲁能主场商户哄抬物价:不整改就曝光 头号主场!场均轰3球 零封就取胜 如此天河谁不怕! 中国无人驾驶汽车“开跑” 技术与商业双向突破 海航科技回应缘何收购当当:填补C端流量入口 阿森纳名宿力挺1人接替温格 曾带队69场不败 英国专家称尚不能证实间谍毒害案毒剂产自俄罗斯 四部门“扫黑”通告:3月1日前自首可依法从轻处罚 全球分析揭示鲨鱼在大洋中的重要觅食区域 不用爱发电了?台媒:台当局决定重启核二厂2号机 虚惊一场!肯帝亚内线伤势经检查无碍 亚游wwwag8com