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

目录

一、概述

二、基本功能

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 ResolutionDependencies 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 Mbind-license                         noarch                       32:9.11.4-26.P2.el7_9.16                        updates                        92 kTransaction 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 transactionUpdating   : 32:bind-license-9.11.4-26.P2.el7_9.16.noarch                                                                                        1/6Updating   : 32:bind-libs-lite-9.11.4-26.P2.el7_9.16.x86_64                                                                                      2/6Installing : 32:bind-libs-9.11.4-26.P2.el7_9.16.x86_64                                                                                           3/6Installing : 32:bind-utils-9.11.4-26.P2.el7_9.16.x86_64                                                                                          4/6Cleanup    : 32:bind-libs-lite-9.11.4-26.P2.el7_9.15.x86_64                                                                                      5/6Cleanup    : 32:bind-license-9.11.4-26.P2.el7_9.15.noarch                                                                                        6/6Verifying  : 32:bind-libs-9.11.4-26.P2.el7_9.16.x86_64                                                                                           1/6Verifying  : 32:bind-utils-9.11.4-26.P2.el7_9.16.x86_64                                                                                          2/6Verifying  : 32:bind-libs-lite-9.11.4-26.P2.el7_9.16.x86_64                                                                                      3/6Verifying  : 32:bind-license-9.11.4-26.P2.el7_9.16.noarch                                                                                        4/6Verifying  : 32:bind-libs-lite-9.11.4-26.P2.el7_9.15.x86_64                                                                                      5/6Verifying  : 32:bind-license-9.11.4-26.P2.el7_9.15.noarch                                                                                        6/6Installed:bind-utils.x86_64 32:9.11.4-26.P2.el7_9.16Dependency Installed:bind-libs.x86_64 32:9.11.4-26.P2.el7_9.16Dependency 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.16Complete!
[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#53Non-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#53Non-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#53Non-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#53Non-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.mzph.cn/bicheng/54577.shtml

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

相关文章

Vue点击按钮生成pdf文件/Vue点击按钮生成png图片

本次案例是vue的点击生成pdf文件和png格式的图片 一、生成pdf文件案例 看代码之前,我们肯定得需要看看,效果图是什么的啦,这样子才能先看看自己想要实现的效果是不是这样子的!上效果图嘿嘿嘿~ A、实现的效果图 这是页面&#…

java intellij idea开发步骤,使用指南,工程创建与背景色字体配置,快捷键

intellij idea2021 配置背景色,字体大小,主题 快捷键

JACM23 - A New Algorithm for Euclidean Shortest Paths in the Plane

前言 如果你对这篇文章感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。 本文关注的问题为计算几何学中的经典问题,即「在平面上给定一组两两不相交的多边形障碍物,寻找两点…

linux设置常见开机自启动命令

本文介绍了三种开机自启的方式,重点介绍使用systemctl的方式自启动的 方式一、修改 /etc/rc.d/rc.local 文件 /etc/rc.d/rc.local 文件会在 Linux 系统各项服务都启动完毕之后再被运行。所以你想要自己的脚本在开机后被运行的话,可以将自己脚本路径加到…

C++——关联式容器(4):set和map

在接触了诸如二叉搜索树、AVL树、红黑树的树形结构之后,我们对树的结构有了大致的了解,现在引入真正的关联式容器。 首先,先明确了关联式容器的概念。我们之前所接触到的如vector、list等容器,我们知道他们实际上都是线性的数据结…

51单片机——矩阵键盘

一、矩阵键盘原理图 我们发现: P17,P16,P15,P14控制行, P13,P12,P11,P10控制列。 所以我们如果要选择第四列,只需要把整个P1先给高电位1,再把P10给低电位0。 二、代码 P10xFF; P100; if(P170){Delay(20);while(P170);Delay(20);KeyNum…

【Linux笔记】虚拟机内Linux内容复制到宿主机的Window文件夹(文件)中

一、共享文件夹 I、Windows宿主机上创建一个文件夹 目录:D:\Centos_iso\shared_files II、在VMware中设置共享文件夹 1、打开VMware Workstation 2、选择需要设置的Linux虚拟机,点击“编辑虚拟机设置”。 3、在“选项”标签页中,选择“共…

【Stm32】从零建立一个工程

这里我们创建“STM32F103”系列的文件,基于“固件库” 1.固件库获取 https://www.st.com.cn/zh/embedded-software/stm32-standard-peripheral-libraries.html 2.使用Keil创建.uvprojx文件 前提是已经下载好了“芯片对应的固件” 3.复制底层驱动代码 将固件库下的…

LeetcodeTop100 刷题总结(一)

LeetCode 热题 100:https://leetcode.cn/studyplan/top-100-liked/ 文章目录 一、哈希1. 两数之和49. 字母异位词分组128. 最长连续序列 二、双指针283. 移动零11. 盛水最多的容器15. 三数之和42. 接雨水(待完成) 三、滑动窗口3. 无重复字符的…

嵌入式入门小工程

此代码基于s3c2440 1.点灯 //led.c void init_led(void) {unsigned int t;t GPBCON;t & ~((3 << 10) | (3 << 12) | (3 << 14) | (3 << 16));t | (1 << 10) | (1 << 12) | (1 << 14) | (1 << 16);GPBCON t; }void le…

上位机图像处理和嵌入式模块部署(linux小系统开发)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 和若干年前相比较&#xff0c;现在嵌入式linux开发要简单得多。稍微贵一点的有树莓派&#xff0c;国产的有各种水果派&#xff0c;基本上都可以按照…

Google 扩展 Chrome 安全和隐私功能

过去一周&#xff0c;谷歌一直在推出新特性和功能&#xff0c;旨在让用户在 Chrome 上的桌面体验更加安全&#xff0c;最新的举措是扩展在多个设备上保存密钥的功能。 到目前为止&#xff0c;Chrome 网络用户只能将密钥保存到 Android 上的 Google 密码管理器&#xff0c;然后…

【学习笔记】STM32F407探索者HAL库开发(四)F103时钟系统配置

【学习笔记】STM32F407探索者HAL库开发&#xff08;四&#xff09;F103时钟系统配置 1 STM32F1时钟树1.1 STM32F103时钟系统图1.2 STM32F103时钟树简图1.2.1 高速部分1.2.2 低速部分 1.3 函数配置1.4 时钟输出1.5 STM32CubeMX时钟树配置F11.6 时钟系统对与嵌入式开发的重要性 1…

Spring IDEA 2024 自动生成get和set以及toString方法

1.简介 在IDEA中使用自带功能可以自动生成get和set以及toString方法 2.步骤 在目标类中右键&#xff0c;选择生成 选择Getter和Setter就可以生成每个属性对应的set和get方法&#xff0c; 选择toString就可以生成类的toString方法&#xff0c;

Linux 文件系统(下)

目录 一.文件系统 1.文件在磁盘上的存储方式 a.盘面、磁道和扇区 b.分区和分组 2.有关Block group相关字段详解 a.inode编号 b.inode Table&#xff08;节点表&#xff09; c.Data blocks&#xff08;数据区&#xff09; d.小结 二.软硬链接 1.软链接 a.软链接的创建…

数据湖 Data Lake-概述

Data Lake 1. 数据湖的定义 数据湖是一种存储系统&#xff0c;用于集中存储大量的原始数据&#xff0c;可以按数据本来的原始格式进行存储&#xff0c;用户可以在需要时提取和分析这些数据。 A data lake is a centralized repository designed to hold vast volumes of data …

OpenCV特征检测(4)检测图像中的角点函数cornerHarris()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 Harris 角点检测器。 该函数在图像上运行 Harris 角点检测器。类似于 cornerMinEigenVal 和 cornerEigenValsAndVecs&#xff0c;对于每个像素 (…

如何将生物序列tokenization为token?

原理讲解 tokenization是自然语言处理领域非常成熟的一项技术&#xff0c;tokenization就是把我们研究的语言转换成计算机能够识别的数字——token。 在生物领域&#xff0c;如何把核苷酸或氨基酸序列tokenization成token呢&#xff1f; 我们可以使用k-mer技术&#xff1a; k-m…

网络设备登录——《路由与交换技术》实验报告

目录 一、实验目的 二、实验设备和环境 三、实验记录 1.通过 Console 登录 步骤1:连接配置电缆。 步骤2:启动PC,运行超级终端。 步骤3:进入Console 配置界面 2.通过 Telnet 登录 步骤1:通过 Console 接口配置 Telnet 用户。 步骤2:配置 super 口令 步骤3:配置登录欢迎…

神经网络构建原理(以MINIST为例)

神经网络构建原理(以MINIST为例) 在 MNIST 手写数字识别任务中&#xff0c;构建神经网络并训练模型来进行分类是经典的深度学习应用。MNIST 数据集包含 28x28 像素的手写数字图像&#xff08;0-9&#xff09;&#xff0c;任务是构建一个神经网络&#xff0c;能够根据输入的图像…