Linux网络工具:用于查询DNS(域名系统)域名解析信息的命令nslookup详解

news2024/11/15 14:20:25

目录

一、概述

二、基本功能

1、查询域名对应的IP地址

2、查询IP地址对应的主机名

3、查询特定类型的DNS记录

三、用法

1、命令格式

2、常用选项

五、nslookup的安装

1. 打开终端

2. 更新的系统包列表

3. 安装 bind-utils 软件包

(1)对于CentOS 7及更早版本  

(2)对于CentOS 8及更高版本

4. 安装完成的使用

 四、使用示例

1. 查询域名对应的IP地址  

2. 查询MX记录 

3. 查询反向解析  

4. 指定DNS服务器查询

 五、输出结果

 六、注意事项


一、概述

        Linux中的nslookup工具是一个功能强大的网络命令行工具,主要用于查询DNS(域名系统)域名解析信息。它可以帮助用户诊断网络连接问题、检查域名解析是否正确,以及查询特定类型的DNS记录等。

二、基本功能

1、查询域名对应的IP地址

        用户可以输入一个域名,nslookup会返回该域名对应的IP地址。

2、查询IP地址对应的主机名

        通过反向查询功能,用户可以输入一个IP地址来查找其对应的主机名。

3、查询特定类型的DNS记录

        支持查询A记录(IPv4地址)、AAAA记录(IPv6地址)、MX记录(邮件交换记录)、CNAME记录(别名记录)等多种类型的DNS记录。

三、用法

1、命令格式

        nslookup [选项] [查询内容]

2、常用选项

 命令有如下选项:

 -query=[type]:指定查询的DNS记录类型,如A、AAAA、MX等。

 -timeout=[秒数]:设置查询的超时时间,以秒为单位。

 -retry=[次数]:设置查询的重试次数。

 -debug:显示查询过程中的调试信息。

 -help:显示帮助信息,列出所有可用的选项和命令。

五、nslookup的安装

        这里以centos中的安装为例介绍。在CentOS系统中,nslookup 命令通常作为 bind-utils 软件包的一部分提供。以下是在CentOS上安装 nslookup 的步骤:

1. 打开终端

2. 更新的系统包列表

更新的系统包列表以确保获取最新版本的软件包信息:  

   sudo yum update  

   对于CentOS 8及更高版本,可能需要使用 dnf 而不是 yum:  

   sudo dnf update

  

3. 安装 bind-utils 软件包

安装 bind-utils 软件包,它包含了 nslookup 命令:

(1)对于CentOS 7及更早版本  

  使用如下命令:

 sudo yum install bind-utils

  实际操作结果如下:

[root@ecs-52a1 /]# nslookup
bash: nslookup: command not found
[root@ecs-52a1 /]#
[root@ecs-52a1 /]#
[root@ecs-52a1 /]#
[root@ecs-52a1 /]# sudo yum install bind-utils
Loaded plugins: fastestmirror
Determining fastest mirrors
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
base                                                                                                                            | 3.6 kB  00:00:00
epel                                                                                                                            | 4.3 kB  00:00:00
extras                                                                                                                          | 2.9 kB  00:00:00
updates                                                                                                                         | 2.9 kB  00:00:00
Resolving Dependencies
--> Running transaction check
---> Package bind-utils.x86_64 32:9.11.4-26.P2.el7_9.16 will be installed
--> Processing Dependency: bind-libs-lite(x86-64) = 32:9.11.4-26.P2.el7_9.16 for package: 32:bind-utils-9.11.4-26.P2.el7_9.16.x86_64
--> Processing Dependency: bind-libs(x86-64) = 32:9.11.4-26.P2.el7_9.16 for package: 32:bind-utils-9.11.4-26.P2.el7_9.16.x86_64
--> Processing Dependency: liblwres.so.160()(64bit) for package: 32:bind-utils-9.11.4-26.P2.el7_9.16.x86_64
--> Processing Dependency: libbind9.so.160()(64bit) for package: 32:bind-utils-9.11.4-26.P2.el7_9.16.x86_64
--> Running transaction check
---> Package bind-libs.x86_64 32:9.11.4-26.P2.el7_9.16 will be installed
--> Processing Dependency: bind-license = 32:9.11.4-26.P2.el7_9.16 for package: 32:bind-libs-9.11.4-26.P2.el7_9.16.x86_64
---> Package bind-libs-lite.x86_64 32:9.11.4-26.P2.el7_9.15 will be updated
---> Package bind-libs-lite.x86_64 32:9.11.4-26.P2.el7_9.16 will be an update
--> Running transaction check
---> Package bind-license.noarch 32:9.11.4-26.P2.el7_9.15 will be updated
---> Package bind-license.noarch 32:9.11.4-26.P2.el7_9.16 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

=======================================================================================================================================================
 Package                              Arch                         Version                                         Repository                     Size
=======================================================================================================================================================
Installing:
 bind-utils                           x86_64                       32:9.11.4-26.P2.el7_9.16                        updates                       262 k
Installing for dependencies:
 bind-libs                            x86_64                       32:9.11.4-26.P2.el7_9.16                        updates                       159 k
Updating for dependencies:
 bind-libs-lite                       x86_64                       32:9.11.4-26.P2.el7_9.16                        updates                       1.1 M
 bind-license                         noarch                       32:9.11.4-26.P2.el7_9.16                        updates                        92 k

Transaction Summary
=======================================================================================================================================================
Install  1 Package  (+1 Dependent package)
Upgrade             ( 2 Dependent packages)

Total download size: 1.6 M
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/4): bind-libs-9.11.4-26.P2.el7_9.16.x86_64.rpm                                                                               | 159 kB  00:00:00
(2/4): bind-libs-lite-9.11.4-26.P2.el7_9.16.x86_64.rpm                                                                          | 1.1 MB  00:00:00
(3/4): bind-utils-9.11.4-26.P2.el7_9.16.x86_64.rpm                                                                              | 262 kB  00:00:00
(4/4): bind-license-9.11.4-26.P2.el7_9.16.noarch.rpm                                                                            |  92 kB  00:00:00
-------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                  4.2 MB/s | 1.6 MB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : 32:bind-license-9.11.4-26.P2.el7_9.16.noarch                                                                                        1/6
  Updating   : 32:bind-libs-lite-9.11.4-26.P2.el7_9.16.x86_64                                                                                      2/6
  Installing : 32:bind-libs-9.11.4-26.P2.el7_9.16.x86_64                                                                                           3/6
  Installing : 32:bind-utils-9.11.4-26.P2.el7_9.16.x86_64                                                                                          4/6
  Cleanup    : 32:bind-libs-lite-9.11.4-26.P2.el7_9.15.x86_64                                                                                      5/6
  Cleanup    : 32:bind-license-9.11.4-26.P2.el7_9.15.noarch                                                                                        6/6
  Verifying  : 32:bind-libs-9.11.4-26.P2.el7_9.16.x86_64                                                                                           1/6
  Verifying  : 32:bind-utils-9.11.4-26.P2.el7_9.16.x86_64                                                                                          2/6
  Verifying  : 32:bind-libs-lite-9.11.4-26.P2.el7_9.16.x86_64                                                                                      3/6
  Verifying  : 32:bind-license-9.11.4-26.P2.el7_9.16.noarch                                                                                        4/6
  Verifying  : 32:bind-libs-lite-9.11.4-26.P2.el7_9.15.x86_64                                                                                      5/6
  Verifying  : 32:bind-license-9.11.4-26.P2.el7_9.15.noarch                                                                                        6/6

Installed:
  bind-utils.x86_64 32:9.11.4-26.P2.el7_9.16

Dependency Installed:
  bind-libs.x86_64 32:9.11.4-26.P2.el7_9.16

Dependency Updated:
  bind-libs-lite.x86_64 32:9.11.4-26.P2.el7_9.16                              bind-license.noarch 32:9.11.4-26.P2.el7_9.16

Complete!
[root@ecs-52a1 /]#
[root@ecs-52a1 /]#
[root@ecs-52a1 /]#
[root@ecs-52a1 /]#
[root@ecs-52a1 /]# nslookup vidisit.cn
Server:         100.125.1.250
Address:        100.125.1.250#53

Non-authoritative answer:
vidisit.cn      canonical name = website202209.gotoip3.com.
website202209.gotoip3.com       canonical name = web.s1267.vhostgo.com.
Name:   web.s1267.vhostgo.com
Address: 211.149.238.18

[root@ecs-52a1 /]#
[root@ecs-52a1 /]#

可以看出,通过安装命令执行后,可以使用 nslookup了。

(2)对于CentOS 8及更高版本

     使用如下命令:

           sudo dnf install bind-utils  

   安装过程中,系统可能会提示输入密码,这是登录CentOS账户时使用的密码。

4. 安装完成的使用

        安装完成后,可以在终端中使用 nslookup 命令来查询DNS记录了。例如,要查询  vidisit.cn 的DNS记录,可以输入:  

        nslookup vidisit.cn  

        实际操作如下:

[root@ecs-52a1 /]#
[root@ecs-52a1 /]# nslookup vidisit.cn
Server:         100.125.1.250
Address:        100.125.1.250#53

Non-authoritative answer:
vidisit.cn      canonical name = website202209.gotoip3.com.
website202209.gotoip3.com       canonical name = web.s1267.vhostgo.com.
Name:   web.s1267.vhostgo.com
Address: 211.149.238.18

[root@ecs-52a1 /]#
[root@ecs-52a1 /]#

通过以上步骤,应该能够在CentOS系统中成功安装和使用 nslookup 命令。如果在安装过程中遇到任何问题,确保的系统已经连接到互联网,并且的包列表是最新的。如果问题仍然存在,可能需要检查的软件源设置或联系系统管理员寻求帮助。

 四、使用示例

1. 查询域名对应的IP地址  

   nslookup www.example.com  

   执行该命令后,nslookup会返回www.example.com对应的IP地址。

2. 查询MX记录 

   nslookup -query=MX example.com  

   或者  

   nslookup -type=mx example.com  

   执行该命令后,nslookup会返回example.com的邮件交换记录。

    实际操作如下:

[root@ecs-52a1 /]# nslookup vidisit.cn
Server:         100.125.1.250
Address:        100.125.1.250#53

Non-authoritative answer:
vidisit.cn      canonical name = website202209.gotoip3.com.
website202209.gotoip3.com       canonical name = web.s1267.vhostgo.com.
Name:   web.s1267.vhostgo.com
Address: 211.149.238.18

[root@ecs-52a1 /]#
[root@ecs-52a1 /]#
[root@ecs-52a1 /]#    nslookup -query=MX baidu.com
bash:   : command not found
[root@ecs-52a1 /]# nslookup -query=MX baidu.com
Server:         100.125.1.250
Address:        100.125.1.250#53

Non-authoritative answer:
baidu.com       mail exchanger = 10 mx.maillb.baidu.com.
baidu.com       mail exchanger = 20 usmx01.baidu.com.
baidu.com       mail exchanger = 20 jpmx.baidu.com.
baidu.com       mail exchanger = 20 mx1.baidu.com.
baidu.com       mail exchanger = 20 mx50.baidu.com.
baidu.com       mail exchanger = 15 mx.n.shifen.com.

Authoritative answers can be found from:

[root@ecs-52a1 /]#

3. 查询反向解析  

   nslookup 192.168.1.1

        执行该命令后,nslookup会尝试查找192.168.1.1对应的主机名。

        实际操作如下:

4. 指定DNS服务器查询

  使用如下命令:

   nslookup www.example.com 8.8.8.8

   执行该命令时,nslookup会使用Google的公共DNS服务器(8.8.8.8)来查询www.example.com的IP地址。

 五、输出结果

nslookup的输出结果通常包括以下几部分:

 Server:显示用于查询的DNS服务器的名称和IP地址。

 Address:显示查询结果的IP地址(对于域名查询)或域名(对于反向查询)。

 Name:显示查询结果的域名(对于域名查询)或IP地址对应的反向域名(对于反向查询)。

 Aliases:显示域名的别名信息(如果有)。

 Mail exchanger:显示邮件交换服务器的信息(如果查询的是MX记录)。

 六、注意事项

        1、在使用nslookup时,应确保网络连接正常,并且DNS服务器能够正常工作。

        2、如果查询结果中显示“Non-authoritative answer”,则表示查询结果是从本地DNS缓存中获取的,而非直接从权威DNS服务器获取。

        3、可以通过修改/etc/resolv.conf文件来更改系统的默认DNS服务器地址。

nslookup是Linux系统中一个非常实用的网络工具,通过它可以方便地查询和验证DNS解析信息,帮助用户排查网络连接和域名解析问题。


文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2155511.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

树和二叉树的概念以及结构

一起加油学数据结构 目录 树的概念以及结构 树的概念 树的相关概念 树的表示 二叉树的概念以及结构 二叉树的概念 特殊的二叉树 二叉树的性质 二叉树的存储结构 树的概念以及结构 树的概念 树是一种非线性的数据结构,它是由n(n>0&#xff09…

【Elasticsearch系列十九】评分机制详解

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Mapper核心配置文件

文章目录 environment 数据库环境typeAlias 起别名 environment 数据库环境 typeAlias 起别名

【QGIS入门实战精品教程】6.2:QGIS选择要素的多种方法

本文讲解QGIS中选择要素的多种方法。 文章目录 一、选择要素二、多边形选择三、自由手绘四、按半径选择五、按值选择要素六、按表达式选择在QGIS中,选择要素有多种方法,如下所示: 下面举例说明。 一、选择要素 可以直接点选、框选实现单个或者多个点线面要素的选择(按住C…

【计算机网络 - 基础问题】每日 3 题(十八)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏&…

计算机毕业设计公交站点线路查询网站登录注册搜索站点线路车次/springboot/javaWEB/J2EE/MYSQL数据库/vue前后分离小程序

选题背景‌: 随着城市化进程的加快,公共交通成为城市居民出行的重要方式。然而,传统的公交站点线路查询方式往往依赖于纸质地图或简单的电子显示屏,查询效率低下且信息更新不及时。因此,开发一个功能全面、易于使用的…

某建筑市场爬虫数据采集逆向分析

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 目标网站 aHR0cHM6Ly9qenNjLm1vaHVyZC5nb3YuY24vZGF0YS9jb21wYW55P2NvbXBsZXhuYW1lPSVFNiVCMCVCNA 提示:以下是本篇文章正文内容,下面…

MySQL中的逻辑条件

逻辑条件组合两个比较条件的结果来产生一个基于这些条件的单个的结果,或者逆转一个单个条件的结果。当所有条件的结果为真时,返回行。 SQL的三个逻辑运算符是: AND、OR、NOT 可以在WHERE子句中用AND和OR运算符使用多个条件。 示例一&#…

【计组】数据的表示与运算

【计组】数据的表示与运算 一、数据的表示方法和转换 1、真值 二进制数和十进制数一样有正负之分,书写时加上“”或“-”来表示的,叫做真值。 例:十进制的3和-6,二进制的011和-110都是真值。 2、机器数 机器数采用二进制的0表…

最优化理论与自动驾驶(十一):基于iLQR的自动驾驶轨迹跟踪算法(c++和python版本)

最优化理论与自动驾驶(四):iLQR原理、公式及代码演示 之前的章节我们介绍过,iLQR(迭代线性二次调节器)是一种用于求解非线性系统最优控制最优控制最优控制和规划问题的算法。本章节介绍采用iLQR算法对设定…

Cpp类和对象(中)(4)

文章目录 前言一、类的六个默认成员函数二、构造函数构造函数的概念构造函数的特性构造函数的两种分类编译器默认生成构造函数意义及相关问题C11打的补丁 三、析构函数析构函数的概念析构函数的特性验证是否会自动调用析构函数验证析构函数对于内置与自定义类型处理验证先定义后…

【学习笔记】数据结构(六 ②)

树和二叉树(二) 文章目录 树和二叉树(二)6.3.2 线索二叉树 6.4 树和森林6.4.1 树的存储结构6.4.2 森林与二叉树的转换6.4.3 树和森林的遍历 6.5 树与等价问题6.5.1 等价定义6.5.2 划分等价类的方法6.5.3 划分等价类的具体操作 - 并…

【LeetCode热题100】位运算

这篇博客先介绍了常见位运算操作,然后记录了关于位运算的几道题,包括判定字符是否唯一、丢失的数字、两整数之和、只出现一次的数字2、消失的两个数字。 在这一部分,我们不妨先来总结一下常见位运算操作: 1.基础位运算 >>…

vite 使用飞行器仪表示例

这里写自定义目录标题 环境vue代码效果图 环境 jquery npm install -S jqueryjQuery-Flight-Indicators 将img、css、js拷贝到vite工程目录中 打开 jquery.flightindicators.js&#xff0c;在文件开头加上import jQuery from "jquery"; vue代码 <template>&…

C#(.NET FrameWork库)逆向基础流程(纯小白教程)

一&#xff0c;例题链接 限时题目&#xff0c;只能用网盘来分享了&#xff0c;侵权联系删->百度网盘 请输入提取码 二&#xff0c;文件特征 使用工具查看文件信息&#xff0c; 能看到分析出文件编写语言为C#&#xff0c;使用了.NET库 三&#xff0c;做题流程 &#xff08…

浙版传媒思迈特软件大数据分析管理平台建设项目正式启动

近日&#xff0c;思迈特软件与出版发行及电商书城领域的领军企业——浙江出版传媒股份有限公司&#xff0c;正式启动大近日&#xff0c;思迈特软件与出版发行及电商书城领域的领军企业——浙江出版传媒股份有限公司&#xff0c;正式启动大数据分析管理平台建设项目。浙版传媒相…

Java之继承1

1. 继承 1.1 为什么要继承 在Java中我们定义猫类和狗类&#xff0c;如下 public class Cat {public String name;public int age;public String color;public void eat(){System.out.println(name "正在吃饭");}public void sleep(){System.out.println(name &qu…

基于pytorch本地部署微调bert模型(yelp文本分类数据集)

项目介绍 本项目使用hugging face上提供的Bert模型API&#xff0c;基于yelp数据集&#xff0c;在本地部署微调Bert模型&#xff0c;官方的文档链接为https://huggingface.co/docs/transformers/quicktour&#xff0c;但是在官方介绍中出现了太多的API调用接口&#xff0c;无法…

React 中的延迟加载

延迟加载是 Web 开发中的一种有效的性能优化技术&#xff0c;尤其是对于 React 等库和框架。它涉及仅在需要时加载组件或资源&#xff0c;无论是响应用户操作还是当元素即将在屏幕上显示时。这可以减少应用程序的初始加载时间&#xff0c;减少资源消耗&#xff0c;并改善用户体…

ETLCloud:新一代ETL数据抽取工具的定义与革新

数据集成、数据治理已经成为推动企业数字化转型的核心动力&#xff0c;现在的企业比任何时候都需要一个更为强大的新一代数据集成工具来处理、整合并转化多种数据源。 而ETL&#xff08;数据提取、转换、加载&#xff09;作为数据管理的关键步骤&#xff0c;已在企业数据架构中…