nslookup,dig,host的用法详解

摘要:
例如,nslookup、dig和host命令。nslookup命令分为直接查询和指定参数查询。直接查询的语法是nslookupdomain[dns-server],其中domain是要查询的域名,dns server是可选字段。默认情况下使用本地DNS服务器。此外,我们可以指定域名服务器,例如nslookupww.baidu.com 8.8.8.8,然后使用指定的参数进行查询,例如nsookup-q=AAAAAAwww.qq.com的IPV6地址。

0.前言

我们在日常上网时都是用域名访问网路,如www.baidu.com,而在实际寻址过程中,是使用IP地址,如180.101.49.11,域名到IP地址的解析是通过DNS服务器来实现的,系统中我们可以用一些网络命令来解析指定的域名。比如说nslookup,dig和host命令。

1.nslookup

1.1 nslookup命令简介

nslookup命令用于查询DNS记录,查看域名解析是否正常,在网络故障时可以用来诊断网络问题。

nslookup命令分为直接查询指定参数查询。

直接查询的语法为nslookup domain [dns-server],其中domain是要查询的域名,dns-server是可选字段,默认使用本地DNS服务器解析。

指定参数查询的语法为 nslookup -qt=type domain [dns-server],其中type表示参数类型,常见类型有:

A地址记录(IPV4)
AAAA地址记录(IPV6)
CNAME别名记录
MX邮件服务器记录
PTR反向记录

格式:

nslookup [FQDN] [server]

选项与参数:

  1. 可以直接在 nslookup 加上待查询的主机名或者是 IP,[server] 可有可无;
  2. 如果在 nslookup 后面没有加上任何主机名或 IP,那将进入 nslookup的查询功能,在 nslookup 的查询功能当中,可以输入其他参数来进行特殊查询,

例如:
set type=any : 列出所有的信息『正解方面配置文件』
set type=mx : 列出与 mx 相关的信息!

1.2 nslookup应用

使用nslookup www.baidu.com 解析百度的域名
nslookup,dig,host的用法详解第1张

其中119.29.29.29是域名服务器地址(腾讯DNSPod DNS),端口为53号,canonical name是别名,Address指的是域名对应的IP地址。
除此之外,我们可以指定域名服务器,比如 nslookup www.baidu.com 8.8.8.8
nslookup,dig,host的用法详解第2张

然后再使用指定参数查询,如 nslookup -q=AAAA www.qq.com 的IPV6地址(注:Linux下使用nslookup -q=type domain)
nslookup,dig,host的用法详解第3张
我们可以查询到对应的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服务器去访问一个域名的时候,整个域名解析的完整过程如下:

nslookup,dig,host的用法详解第4张

2.2 dig应用

1.dig查询www.baidu.com的ip全过程

我们结合具体的例子来看一下DNS解析域名的具体过程。

首先在终端输入dig www.baidu.com +trace
nslookup,dig,host的用法详解第5张
nslookup,dig,host的用法详解第6张

拆解这整个过程,可以看出从119.29.29.29服务器返回了13个根域名服务器信息,系统从13个根服务器随机选择一个进行访问。
nslookup,dig,host的用法详解第7张

我们可以看到系统随机选择了根域名服务器e.root-servers.net,并返回了.com域名服务器列表

nslookup,dig,host的用法详解第8张

系统选择了e.gtld-servers.net并返回了a.shifen.com.的域名服务器列表。
nslookup,dig,host的用法详解第9张

接下来系统访问ns7.baidu.com并返回了www.baidu.com的域名服务器列表。

最后得到www.baidu.com的IP地址为180.76.76.92。

  1. 查询 linux.vbird.org 的 SOA 相关信息
dig -t soa linux.vbird.org

nslookup,dig,host的用法详解第10张

由于 dig 的输出信息实在是太丰富了,又分成多个部分去进行回报,因此很适合作为 DNS 追踪回报的一个指令呢! 你可以透过这个指令来了解一下你所设定的 DNS 数据库是否正确,并进行除错喔! _!此外,你也可以透过『 -t type 』 的功能去查询其他服务器的设定值,可以方便你进行设定 DNS 服务器时的参考喔!正解查询完毕,接下来玩一玩反解吧!

  1. 查询180.101.49.11 (百度)反解析
dig -x 180.101.49.11

nslookup,dig,host的用法详解第11张

反解相当有趣!从上面的输出结果来看,反解的查询目标竟然从180.101.49.11变成了 101.180.in-addr.arpa. 这个模样~这是啥鬼东西?不要怕,这等我们讲到反解时再跟大家进一步解释。 你现在要知道的是,反解的查询领域名,跟正解不太一样即可,尤其是那个怪异的 in-addr.arpa. 结尾的数据,可以先记下来。

3.host

3.1 host简介

格式:

host [-a] FQDN [server]
host -l domain [server]

选项:
-a :代表列出该主机所有的相关信息,包括 IP、TTL 与除错讯息等等
-l :若后面接的那个 domain 设定允许 allow-transfer 时,则列出该domain所管理的所有主机名对应数据

server:这个参数可有可无,当想要利用非 /etc/resolv.conf 内的 DNS 主机来查询主机名与 IP 的对应时,就可以利用这个参数了

3.2host应用

1.使用默认值来查出百度的IP

host www.baidu.com

nslookup,dig,host的用法详解第12张

  1. 查出百度的所有重要参数
host -a www.baidu.com

nslookup,dig,host的用法详解第13张

  1. 强制以 8.8.8.8 这部 DNS 服务器来查询
host www.baidu.com 8.8.8.8

nslookup,dig,host的用法详解第14张

  1. 找出 sxjy.com领域的所有主机对应
host -l sxjy.com

怎么会无法响应呢?这样的响应是因为管理 vbird.org 领域的 DNS 并不许我们的领域查询,毕竟我们不是 vbird.org 的系统管理员,当然没有权限可以读取整个vbird.org 的领域设定啰!这个『 host -l 』是用在自己的 DNS 服务器上,本章稍后谈到服务器设定后,使用这个选项就能够读取相关的数据了。

免责声明:文章转载自《nslookup,dig,host的用法详解》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇WinForm应用程序中PropertyGrid的使用mysql 关于 不可重复读与幻读的解决方案【del】下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Tomcat 下4个配置文件详解

Tomcat 的配置文件由4个 xml 文件构成,context.xml、web.xml、server.xml、tomcat-users.xml 这4个文件。每个文件都有自己的功能与配置方法,下列将逐一介绍这几个文件的配置: 一、context.xml 文件 Context.xml 是 Tomcat 公用的环境配置,tomcat 服务器会定时去扫描这个文件...

Linux网络管理

1、Linux配置IP地址的方法 1.ifconfig命令临时配置IP地址 ifconfig命令:查看与配置网络状态命令 [root@AmorLei ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:16:3E:08:C7:DD inet addr:172.17.190....

NSLookup命令

NSLookup命令非常强大,它有很多子命令可以使用,如使用ls命令可以列出域名系统(DNS)域的信息等等。 NSLookup可以指定查询的类型,可以查到DNS记录的生存时间还可以指定使用那个DNS服务器进行解释。 其实用的最多就是查询MX记录或者查询某域名绑定的IP地址。 用法: nslookup的语法为 nslookup –qt=类型 目标域名(注意q...

移植Kdump至嵌入式ARM64环境【转】

转自:https://blog.csdn.net/lsy673908720/article/details/90215501 工欲善其事,必先利其器。操作系统崩溃是高级Linux运维工程师很头疼的事情,但也不要害怕,前辈们已经给我们磨了好多把刀,其中有一把叫做Kdump。目前在主流的Linux发行版如Ubuntu、Centos等已经默认安装或者仓库中含有工...

【DB宝41】监控利器PMM的使用--监控MySQL、PG、MongoDB、ProxySQL等

目录 一、PMM简介 二、安装使用 三、监控MySQL数据库MySQL慢查询分析 四、监控PG数据库 五、监控MongoDB数据库 六、监控ProxySQL中间件 一、PMM简介 之前发布过一篇Prometheus+Grafana的文章,连接为:【DB宝36】使用Docker分分钟搭建漂亮的prometheus+grafana监控,今天我们...

docker自定义网络里的dns实现原理

简单说一下流程吧,不写了。 docker会修改容器里的/etc/resolv.conf文件,把dns服务器设置成127.0.0.11,因为127.0.0.0/8地址都是本机回环地址,所以dns查询的时候实际上是把请求发给了自己。虽然是发给自己,但是还是要走netfilter表的。nat表的output链里把发往127.0.0.11:53的UDP包转到了41...