Linux:IP与域名解析——nslookup与dig的功能和区别
1、nslookup
学习自:Linux nslookup命令详解 – 编程技术之美-IT之美
Linux nslookup命令常见用法_SparLight的博客-CSDN博客
1)简介
Linux中的nslookup命令用于查询DNS服务器,获取特定主机名的IP或域名的MX记录等。
2)命令
命令:nslookup 选项 主机名 DNS服务器
选项:
选项 |
说明 |
-query | 指定查询类型,默认为A记录 |
-timeout | 指定查询超时时间 |
-debug | 显示调试信息 |
-help | 显示帮助信息 |
-version | 显示版本信息 |
主机名:需要查询的主机名或IP地址
DNS服务器:DNS服务器的IP或域名
3)例子
①查询指定主机名的IP
nslookup www.google.com
②查询指定IP对应的主机名
nslookup 8.8.8.8
③查询MX记录
nslookup -query=mx google.com
④指定DNS服务器进行查询
nslookup www.google.com 8.8.8.8
2、dig命令
1)简介
dig是domain information group的简写,即域名信息组。
dig是一个常用的域名查询工具,可以从DNS域名服务器查询主机地址信息,获取到详细的域名信息。
dig名是Bind的一部分,本身没有在Windows和Linux系统中集成,如果我们想要使用该命令就要先下载对应的软件包。
2)软件包安装
Debian(Ubuntu,kali…)系列下安装
apt-get install dnsutils
RedHat(RedHat,Centos,Fedora…)系列
yum install bind-utils
Windows
Windows下安装dig命令比较繁琐一点,需要先下载Bind,再添加环境变量,安装教程链接:win10 安装dig工具与使用dig命令3)用法
命令:dig DNS URL 选项
选项:
常规选项
dig www.baidu.com A # 查询A记录,如果域名后面不加任何参数,默认查询A记录 dig www.baidu.com MX # 查询MX记录 dig www.baidu.com CNAME # 查询CNAME记录 dig www.baidu.com NS # 查询NS记录 dig www.baidu.com ANY # 查询上面所有的记录 dig www.baidu.com A +short # 查询A记录并显示简要的返回的结果 dig www.baidu.com A +multiline # 查询A记录并显示详细的返回结果
从指定的DNS服务器进行查询
如果不指定DNS服务器,可能会导致获得的结果不准确;
如果不指定DNS服务器,dig会依次使用/etc/resolv.conf中的地址作为DNS服务器。
dig @192.168.0.2 www.baidu.com # 表示从192.168.0.2这个IP服务器对www.baidu.com进行A记录查询
查询PTR记录
dig -x 192.168.213.131 # 访问PTR记录,查询该IP地址所对应的主机名 DNS解析是用域名查IP,而PTR记录是IP查域名
4)例子及说明
dig www.baidu.com
①DIG行
这部分输出了有关于它的版本信息(version 9.16.15)和全局的设置选项
②Got answer行
该行输出了DNS返回的技术信息。比较重要的是status,如果status值为NOERROR,说明本次查询成功。这段信息(即Got answer行显示的信息)可以用命令选项 [no] comments来控制是否显示。
③QUESTION SECTION行
查询字段,显示了我们要查询的域名和服务,比如这里的A代表A记录查询,即主机查询。
④ANSWER SECTION行
回答字段,返回查询结果。
这里的结果表示:①要查询www.baidu.com,先查询CNAME记录,对www.a.shifen.com进行访问;②当访问了www.a.shifen.com之后,该主机让我们访问110.242.68.3;③当访问了110.242.68.3之后,该主机会告诉我们www.baidu.com的IP是110.242.68.4。
⑤
最后一节显示了请求所花的时间、dns服务器、当前时间、查询信息的大小。
3、nslookup与dig之间的区别
学习自:通过DNS和IP地址挖掘目标网络信息:dig和nslookup_dig和nslookup区别-CSDN博客
dig会从域名的官方DNS服务器上获取到精确的权威解答;
nslookup只会得到DNS解析服务器保存在Cache中的非权威解答。
对于一些采用了分布式服务器和CDN技术的大型网站,用nslookup查询到的结果和dig查询结果往往不同。