zoukankan      html  css  js  c++  java
  • nslookup,dig,host的用法详解

    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 解析百度的域名

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

    然后再使用指定参数查询,如 nslookup -q=AAAA www.qq.com 的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应用

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

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

    首先在终端输入dig www.baidu.com +trace

    拆解这整个过程,可以看出从119.29.29.29服务器返回了13个根域名服务器信息,系统从13个根服务器随机选择一个进行访问。

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

    系统选择了e.gtld-servers.net并返回了a.shifen.com.的域名服务器列表。

    接下来系统访问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
    

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

    1. 查询180.101.49.11 (百度)反解析
    dig -x 180.101.49.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
    

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

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

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

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

  • 相关阅读:
    转:解决windows下eclipse中android项目关联android library project失败问题
    [Android]高低API版本兼容之@TargetApi
    【机器学习具体解释】线性回归、梯度下降、最小二乘的几何和概率解释
    iOS开发实践之xib载入注意问题
    Oracle 学习笔记 13 -- 控制用户权限
    【Web探索之旅】第三部分第二课:IP地址和域名
    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第10章节--SP2013中OAuth概览 应用程序授权
    windows上通过vnc连接虚拟机中linux系统
    virtio netdev的创建
    使用Dagger2创建的第一个小样例
  • 原文地址:https://www.cnblogs.com/even160941/p/14292059.html
Copyright © 2011-2022 走看看