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

1.nslookup

1.1 nolookup命令简介

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

反向记录

1.2 nolookup应用

使用nslookup www.baidu.com 解析百度的域名

其中127.0.1.1是域名服务器地址,端口为53号,canonical name是别名,Address指的是域名对应的IP地址。

除此之外,我们可以指定域名服务器,比如 nslookup www.baidu.com 8.8.8.8

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

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

首先在终端输入dig www.ustc.edu.cn +trace

可以看出从本地的DNS服务器127.0.1.1返回了13个根域名服务器信息,系统从13个根服务器随机选择一个进行访问。

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

系统选择了d.dns.cn并放回了edu.cn教育网的域名服务器列表。

接下来系统访问denb.dfn.de并返回了ustc.edu.cn 中科大的域名服务器列表。

最终系统选择了ns.ustc.edu.cn域名服务器并返回了最终结果,我们可以得到中科大官网的IP地址为218.22.21.21

关于nslookup以及dig命令的研究报告的更多相关文章

  1. aix DNS 配置以及网络命令traceroute和nslookup 和 dig 命令

    DNS 域名系统 (DNS) 服务器将 IP 地址解释为其他计算机或网站的域名和地址.如果没有 DNS,您需要在 Web 浏览器中输入 IP 地址.例如,如果您未访问 DNS 并希望查看 IBM 的网 ...

  2. nslookup、dig命令Linux安装包

    linux下提供nslookup,dig命令的软件就是 bind-utils yum install bind-utils -y

  3. nslookup和dig命令

    nslookup与dig两个工具功能类似,都可以查询制定域名所对应的ip地址,所不同的是dig工具可以从该域名的官方dns服务器上查询到精确的权威解答,而nslookup只会得到DNS解析服务器保存在 ...

  4. dig 命令详解(转载) - 阿权的书房

    在 unix 和 linux 下,建议大家使用 dig 命令来代替 nslookup. dig 命令的功能比 nslookup 强大很多,不像 nslookkup 还得 set 来 set 去的,怪麻 ...

  5. dig命令(转载)

    dig命令使用大全(linux上域名查询) 可以这样说,翻译本篇文档的过程就是我重新学习DNS的过程,dig命令可以帮助我们学习DNS的原理,配置,以及其查询过程.以前使用dig仅仅是查询一下A记录或 ...

  6. linux命令总结之dig命令

    Dig简介: Dig是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具.Dig的源码是ISC BIND大包的一部分,但是大多编译和安装Bind的文档都不把它包括在内 ...

  7. dig命令使用大全

    https://www.cnblogs.com/daxian2012/archive/2013/01/10/2854126.html 译者序:可以这样说,翻译本篇文档的过程就是我重新学习DNS的过程, ...

  8. Dig HOWTO 中文手册--dig命令使用大全

    Dig HOWTO 中文手册--dig命令使用大全 DNS -- 本人翻译的dig howto手册. 译者序: 可以这样说,翻译本篇文档的过程就是我重新学习DNS的过程,dig命令可以帮助我们学习DN ...

  9. Dig命令使用大全(转自别人翻译),稍加整理

    Dig简介:   Dig是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具.由于一直缺失Dig man page文档,本文就权当一个dig使用向导吧.   Dig的 ...

随机推荐

  1. K8s configMap原理介绍

    给容器内应用程序传递参数的实现方式: 1. 将配置文件直接打包到镜像中,但这种方式不推荐使用,因为修改配置不够灵活. 2. 通过定义Pod清单时,指定自定义命令行参数,即设定 args:[" ...

  2. 使用 gitstats 来统计代码

    使用 gitstats 来统计代码 github地址如下 gitstats clone地址 git clone https://github.com/hoxu/gitstats && ...

  3. VS2017 远程调试linux(centos).net core程序(通过附加程序的方式)

    参考两位大神的帖子: https://blog.csdn.net/soband_xiang/article/details/82914195 https://blog.csdn.net/weixin_ ...

  4. 分析 Kaggle TOP0.1% 如何处理文本数据

    感觉大佬的代码写的就是好,在处理数据的方面,首先定义一个 提取特征的类, class Extractor(object):,然后每一种方法对这个类进行重构,这个类主要结构就是: class Extra ...

  5. docker run 中的privileged参数

    docker 应用容器 获取宿主机root权限(特殊权限-) docker run -d --name="centos7" --privileged=true centos:7 / ...

  6. Python安装依赖包及开发工具转移到Visual Studio 2019

    #pip升级pip install --upgrade pip#安装pillow图形库pip install pillow #安装二维码库 pip install MyQR PyCharm工具导入依赖 ...

  7. 累积分布函数(cumulative distribution function)

    sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程,QQ:231469242) https://study.163.com/course/introduction.htm?courseId ...

  8. 解决:File "/usr/lib/python2.7/site-packages/more_itertools/more.py", line 340 def _collate(*iterables, key=lambda a: a, reverse=False): 的报错

    cyberb commented on 15 Apr Traceback (most recent call last): File "/snap/users/x1/python/bin/l ...

  9. leetcode No.500 键盘行 keyboard-row (Python3实现)

    题目描述 给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词.键盘如下图所示. 示例: 输入: ["Hello", "Alaska", " ...

  10. PAT 甲级 树专题小结

    1.已知两个序链表建树 先序中序建树 PAT 1086 node *buildTree(vector<int>pre,vector<int>in,int pl,int pr,i ...