如何在Linux中安装和使用dig工具

news2024/9/30 11:11:50

Dig 命令(Domain Information Groper)是最流行的 DNS 测试工具之一。您可以用它来在Linux上排查DNS问题。

文章目录

    • dig如何工作
    • 如何在Ubuntu上安装dig
    • 常用dig命令使用方法
    • 推荐阅读

dig如何工作

"dig"命令是一个用于查询DNS(Domain Name System)信息的工具。它通常在命令行中使用,可以用来获取域名相关的各种信息,比如IP地址、域名服务器记录等。

当在命令行中输入dig命令以及一个域名时,它会向指定的DNS服务器发送一个DNS查询请求,并返回相关的信息。这些信息可能包括域名的IP地址,或者其他与该域名相关的记录,比如MX记录(邮件服务器记录)、CNAME记录(规范名称记录)等。

在执行dig命令时,你可以提供不同的参数来指定要查询的信息类型,比如A记录(IPv4地址)、AAAA记录(IPv6地址)、MX记录(邮件服务器记录)等。此外,你还可以指定要查询的特定DNS服务器、设置超时时间、查询特定的记录类型等。

如何在Ubuntu上安装dig

在Ubuntu上安装dig,可以使用如下命令:

sudo apt-get install dnsutils

安装过程:

mirror@Ubuntu22:~$ sudo apt-get install dnsutils
[sudo] password for mirror:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  dnsutils
0 upgraded, 1 newly installed, 0 to remove and 110 not upgraded.
Need to get 3928 B of archives.
After this operation, 59.4 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 dnsutils all 1:9.18.18-0ubuntu0.22.04.1 [3928 B]
Fetched 3928 B in 1s (6093 B/s)
Selecting previously unselected package dnsutils.
(Reading database ... 24205 files and directories currently installed.)
Preparing to unpack .../dnsutils_1%3a9.18.18-0ubuntu0.22.04.1_all.deb ...
Unpacking dnsutils (1:9.18.18-0ubuntu0.22.04.1) ...
Setting up dnsutils (1:9.18.18-0ubuntu0.22.04.1) ...
mirror@Ubuntu22:~$

常用dig命令使用方法

  1. dig domain.com

范例:dig www.baidu.com

mirror@Ubuntu22:~$ dig www.baidu.com

; <<>> DiG 9.18.12-0ubuntu0.22.04.1-Ubuntu <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2424
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.baidu.com.                 IN      A

;; ANSWER SECTION:
www.baidu.com.          1146    IN      CNAME   www.a.shifen.com.
www.a.shifen.com.       38      IN      A       153.3.238.102
www.a.shifen.com.       38      IN      A       153.3.238.110

;; Query time: 40 msec
;; SERVER: 114.114.114.114#53(114.114.114.114) (UDP)
;; WHEN: Mon Nov 27 15:13:05 CST 2023
;; MSG SIZE  rcvd: 101

mirror@Ubuntu22:~$

在这里插入图片描述

  1. dig domain.com +short

范例:dig www.baidu.com +short

mirror@Ubuntu22:~$ dig www.baidu.com +short
www.a.shifen.com.
153.3.238.102
153.3.238.110
mirror@Ubuntu22:~$

在这里插入图片描述
只显示 IP 地址,而不显示任何其他信息。快速且易于使用的,基本上只有 A 记录。
3. dig domain.com MX
范例:dig google.com MX
测试了百度和163,都没有MX记录,最后找到用Google可以看到有MX记录。

mirror@Ubuntu22:~$ dig google.com MX

; <<>> DiG 9.18.12-0ubuntu0.22.04.1-Ubuntu <<>> google.com MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8524
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;google.com.                    IN      MX

;; ANSWER SECTION:
google.com.             35      IN      MX      10 smtp.google.com.

;; Query time: 40 msec
;; SERVER: 114.114.114.114#53(114.114.114.114) (UDP)
;; WHEN: Mon Nov 27 15:19:26 CST 2023
;; MSG SIZE  rcvd: 60

mirror@Ubuntu22:~$

在这里插入图片描述

可以查询不同类型的记录,例如邮件交换器记录。MX 记录显示负责接受电子邮件的邮件服务器。您可以查看所有服务器是否都正常工作以及响应是否太慢。

更多用法参考:Linux dig指令的十三种用法

推荐一些对 DNS 诊断有用的工具:

  • Nslookup
  • Traceroute
  • MTR
  • Host
  • Ping

推荐阅读

  • 在Windows WSL (Linux的Windows子系统)上运行的Ubuntu如何更改主机名
  • 局域网协议:DNS(Domain Name System,域名系统)详解
  • DNS如何在Windows NIC配置多个DNS服务器时完成DNS解析查询
  • 活用DNS技术实现相同IP的不同端口映射不同域名

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

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

相关文章

IDEA 2022.1 同一个 spring boot main类运行多个实例

普通的 Java 项目 运行多个实例是非常简单的&#xff0c;直接点击 run 多次即可&#xff0c;但在 spring boot 中默认情况下&#xff0c;是不允许把同一个 web 项目改完端口后多次运行的&#xff0c;如下会显示让你先停止当前实例后再启动&#xff1a; 开启运行多个实例的的方法…

Node.js入门指南(五)

目录 MongoDB 介绍 下载与启动 命令行交互 Mongoose 代码模块化 图形化管理工具 hello&#xff0c;大家好&#xff01;上一篇文章我们介绍了express框架&#xff0c;这一篇文字主要介绍MongoDB。来对数据进行存储以及操作。 MongoDB 介绍 各位小伙伴应该多多少少都有接…

15 网关实战: 微服务集成Swagger实现在线文档

上节介绍了网关层面聚合API文档,通过网关的路由信息找到了各个服务的请求地址,这节讲一下微服务如何集成Swagger。 网关的API文档默认调用的是微服务的**/v2/api-docs**这个接口获取API详细信息,比如文章服务的URL:http://localhost:9000/blog-article/v2/api-docs,返回信…

机器视觉:塑造未来的智能视界

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; IT杂谈 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 &#x1f4d1; 前言&#x1f324;️ 机器视觉技术的实现☁️ 图像采集☁️ 图像处理☁️ 数据建模☁️应用展示…

性能优化的一般策略及方法

性能优化的一般策略及方法 在汽车嵌入式开发领域&#xff0c;性能优化始终是一个无法回避的问题&#xff1a; 座舱 HMI 想要实现更流畅的人机交互 通信中间件在给定的 CPU 资源下&#xff0c;追求更高的吞吐量 更一般的场景&#xff1a;嵌入式设备 CPU 资源告急&#xff0c;需…

uniapp在H5端实现PDF和视频的上传、预览、下载

上传 上传页面 <u-form-item :label"(form.ququ3 1 ? 参培 : form.ququ3 2 ? 授课 : ) 证明材料" prop"ququ6" required><u-button click"upload" slot"right" type"primary" icon"arrow-upward" t…

Ubuntu 22.03 LTS 安装deepin-terminal 实现 终端 分屏

deepin-terminal 安装 源里面自带了这个软件&#xff0c;可以直接装 sudo apt install deepin-terminal 启动 按下Win键&#xff0c;输入deep即可快速检索出图标&#xff0c;点击启动 效果 分屏 CtrlShiftH 水平分割 CtrlShiftJ 垂直分割 最多分割成四个小窗口&#xff0…

Flask Echarts 实现历史图形查询

Flask前后端数据动态交互涉及用户界面与服务器之间的灵活数据传递。用户界面使用ECharts图形库实时渲染数据。它提供了丰富多彩、交互性强的图表和地图&#xff0c;能够在网页上直观、生动地展示数据。ECharts支持各种常见的图表类型&#xff0c;包括折线图、柱状图、饼图、散点…

深度剖析API接口测试工具的企业价值

随着企业软件开发的日益复杂和互联网应用的普及&#xff0c;API接口成为不同软件系统之间信息传递的桥梁。在这一背景下&#xff0c;API接口测试工具的应用变得愈加重要&#xff0c;对企业的发展和软件质量起到了关键性的作用。本文将深入探讨API接口测试工具在企业中的重要性&…

进程(4)——进程地址空间【linux】

进程&#xff08;4&#xff09;——进程地址空间【linux】 一.什么是进程地址空间二.进程地址空间不是真实地址&#xff1f;三.物理地址与进程地址空间的关系&#xff08;整体部分&#xff09;四. 细节4.1 进程地址空间的本质&#xff1a;4.2 为什么要有进程地址空间&#xff1…

机器学习——多元线性回归升维

机器学习升维 升维使用sklearn库实现特征升维实现天猫年度销量预测实现中国人寿保险预测 升维 定义&#xff1a;将原始的数据表示从低维空间映射到高维空间。在线性回归中&#xff0c;升维通常是通过引入额外的特征来实现的&#xff0c;目的是为了更好地捕捉数据的复杂性&#…

MacOS 系统 Flutter开发Android 环境配置

上节我们已经把 开发工具准备齐全&#xff0c;并可以进行Flutter的web开发&#xff0c;本节将做安卓开发环境进行详细说明 接上节这里先说下&#xff0c;系统环境 MacOS14 &#xff08;Sonoma&#xff09; 芯片 Apple M3 执行命令&#xff1a;flutter doctor 提示如下&#…

Shell脚本:Linux Shell脚本学习指南(第三部分Shell高级)一

第三部分&#xff1a;Shell高级&#xff08;一&#xff09; 这一章讲解 Shell 脚本编程的进阶内容&#xff0c;主要涉及重定向、文件描述符、管道和过滤器、子 Shell、信号等。 本章会使用到一些底层的编程知识&#xff0c;有C语言和 C 编程经验的程序员阅读起来将会更加轻松。…

《微信小程序开发从入门到实战》学习三十三

第四章 云开发 本章云开发技术的功能与使用&#xff0c;包括以下几点&#xff1a; 1.学习使用云开发控制台 2.学习云开发JSON数据库功能 3.学习云开文件存储功能 4.学习云函数功能 5.使用云开发技术实现投票小程序的服务端功能 投票小程序大部分已经实现。需要实现&#…

人工智能-优化算法之凸集

凸性 凸性&#xff08;convexity&#xff09;在优化算法的设计中起到至关重要的作用&#xff0c; 这主要是由于在这种情况下对算法进行分析和测试要容易。 换言之&#xff0c;如果算法在凸性条件设定下的效果很差&#xff0c; 那通常我们很难在其他条件下看到好的结果。 此外&…

二叉堆与优先队列

二叉堆与优先队列 1、什么是二叉堆 1.1、初识二叉堆 什么是二叉堆&#xff1f; 二叉堆本质上是一种完全二叉树&#xff0c;它分为两个类型。 最大堆&#xff08;也叫大顶堆&#xff09;&#xff1a;任意节点的值都大于或等于它的左右孩子节点的值&#xff0c;并且最大的值位…

SHAP(一):具有 Shapley 值的可解释 AI 简介

SHAP&#xff08;一&#xff09;&#xff1a;具有 Shapley 值的可解释 AI 简介 这是用 Shapley 值解释机器学习模型的介绍。 沙普利值是合作博弈论中广泛使用的方法&#xff0c;具有理想的特性。 本教程旨在帮助您深入了解如何计算和解释基于 Shapley 的机器学习模型解释。 我…

NX二次开发UF_CURVE_create_arc_point_tangent_radius 函数介绍

文章作者&#xff1a;里海 来源网站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan UF_CURVE_create_arc_point_tangent_radius Defined in: uf_curve.h int UF_CURVE_create_arc_point_tangent_radius(tag_t point, tag_t tangent_object, double radius, UF_CURVE_…

初识前后端数据交互(新手篇)

一个软件项目的开发必然是离不开前端和后端的协作&#xff0c;对于刚入行的新手前端或者新手后端来说&#xff0c;很有必要了解一下对方是在做什么&#xff0c;以及提供给自己什么样的帮助&#xff0c;为什么需要对方共同协作才能完成整个软件项目的开发呢&#xff1f;希望这篇…