当前位置: 首页 > news >正文

dig 简明教程

哈喽大家好,我是咸鱼

不知道大家在日常学习或者工作当中用 dig 命令多不多

dig 是 Domain Information Groper 的缩写,对于网络管理员和在域名系统(DNS)领域工作的小伙伴来说,它是一个非常常见且有用的工具。

无论是简单的 DNS 解析查找还是更高级的故障排除和分析,dig 都能够胜任

那么今天咸鱼将和大家一起了解一下 dig 命令的一些常见用法以及示例

除了 dig 命令,还有一种跟 dig 功能是差不多的 命令 nslookup

安装

如果 Linux 发行版没有安装 dig 命令,则可以通过下面的命令来安装

  • Debian 和 基于 Debian 的发行版
apt install dnsutils
  • Red Hat 和基于 RHEL 的发行版
dnf install bind-utils
# 或
yum install bind-utils
  • Arch Linux 和基于 Arch 的发行版
pacman -S dnsutils

以我的测试环境为例(CentOS 7.9)
在这里插入图片描述

常见用法

# 基本语法
dig [@server] [name] [type]
  • @server:请求所指向的 DNS 服务器的主机名或IP地址。如果没有指定 DNS 服务器,则使用系统当前配置的 DNS 服务器
  • name :要查找的域名
  • type :要检索的 DNS 记录的类型,默认为 A 记录类型

比如说我想解析 www.baidu.com 这个域名,指定使用 Google 的 dns 服务器(8.8.8.8)
在这里插入图片描述

# A 记录
dig @8.8.8.8 www.baidu.com

如果要查找 MX 记录

dig @8.8.8.8 www.baidu.com MX

前面我们讲到,dig 命令会在 ANSWER 部分中默认显示 A 记录,下面我们来看下命令输出的信息
在这里插入图片描述
可以看到一共有五列,我们以最后一行行为例:

  • 第一列 www.wshifen.com:要查找的域名
  • 第二列 192 :生存周期,告诉 DNS 解析器在请求一个新查询之前缓存查询多长时间
  • 第三列 IN:查询的类,IN 指互联网
  • 第四列 A:DNS 查询类型( A, AAAA, CNAME, MX, NS, PTR, CERT, SRV, TXT, SOA 等)
  • 第五列 104.193.88.77:域名关联的 IP 地址

由前面的输出信息我们可以看到,内容还是挺多的,这时候有小伙伴会想:**如何减少 dig 命令输出的内容呢?**我只想要最有用的,其他的我看得头昏眼花

可以加上 +nocomments 选项

dig @8.8.8.8 www.baidu.com +nocomments

在这里插入图片描述
可以看到,加上 +nocomments 选项后返回的内容有一部分注释是被去掉了的

这时候有的小伙伴还会说:不行不行,信息还是太多了,我只要 ANSWER 部分。该如何让命令只输出 ANSWER 部分呢?

dig www.baidu.com +noall +answer

在这里插入图片描述
可以看到,加了 +noall +answer 选项之后,会显示出干净且易于阅读的内容

那**如果我只想要返回解析出来的结果呢?**可以使用 +short 选项

dig www.baidu.com +short

在这里插入图片描述

进阶用法

  • 指定返回类型信息

前面我们提到过,DNS 记录的类型(type)有很多种,例如 A, AAAA, CNAME, MX, NS, PTR, CERT, SRV, TXT, SOA 等

我们可以在命令的末尾加上对应的类型名以此来返回解析后特定类型信息

# 返回 MX 类型
dig www.baidu.com MX# 返回 CNAME 类型
dig www.baidu.com CNAME

或者使用特殊关键字 ALL 将所有类型记录放在一起

# 将会返回所有类型信息
dig www.baidu.com ALL
  • 查看 DNS 解析过程

如果我们不确定 DNS 配置在哪里有问题,我们可以使用 dig 命令来查看 DNS 解析的每一过程,只需要加上 +trace 选项即可

dig www.baidu.com +trace

在这里插入图片描述

  • DNS 反向查找

DNS 正向查找就是通过域名找解析 IP;反向查找就是通过 IP 地址找域名

# 查找 ip 95.217.163.246 对应的域名
dig -x 95.217.163.246

在这里插入图片描述

  • 批量查询

有小伙伴会想:我每次查询一个域名效率太慢了,我能不能一次查询多个域名呢?

是可以的,dig 是支持批量查询的

首先我们把要查询的域名放在一个文件里面,每行一个

[root@localhost ~]# cat domains.txt 
www.baidu.com
archlinux.org

然后执行 dig 命令的时候加上 -f 选项

# 加上 +short 简化输出内容
dig -f domains.txt +short

在这里插入图片描述

修改 dig 默认选项

前面我们在使用 dig 命令的时候,为了简化输出信息每次敲命令都得带上+nocomments 选项

那我们能不能把这个选项设置成默认值,这样在敲命令的时候就不需要额外加上这个选项了

答案是可以的,我们需要在家目录下创建一个 ~/.digrc 文件,然后添加选项

[root@localhost ~]# cat ~/.digrc 
+nocomments
+short

这样我们执行 dig 命令的时候就算没加上去,也会默认使用这两个选项

相关文章:

dig 简明教程

哈喽大家好,我是咸鱼 不知道大家在日常学习或者工作当中用 dig 命令多不多 dig 是 Domain Information Groper 的缩写,对于网络管理员和在域名系统(DNS)领域工作的小伙伴来说,它是一个非常常见且有用的工具。 无论是简单的 DNS 解析查找还…...

深度分析AMQP以及在rabbitMQ中的应用

文章目录 AMQP是什么AMQP在rabbitMQ中的应用AMQP协议的三层AMQP的三大组件AMQP的连接信道RabbitMQ 如何实现信道: AMQP是什么 AMQP(Advanced Message Queuing Protocol)是一种开放标准的消息队列协议。它提供了一个统一的、可靠的、异步的消…...

GB/T 28627-2023 抹灰石膏检测

抹灰石膏是指以半水石膏、Ⅱ型无水石膏单独或两者混合后作为主要胶凝材料,掺入集料和外加剂制成的用于建筑物室内墙面和顶棚基底抹灰找平用的石膏砂浆。 GB/T 28627-2023抹灰石膏检测项目: 测试项目 测试方法 凝结时间 GB/T 28627 保水率 GB/T 286…...

JDK版本和Gradle版本配套关系

Java versionSupport for compiling/testing/…​Support for running Gradle 8 N/A 2.0 9 N/A 4.3 10 N/A 4.7 11 N/A 5.0 12 N/A 5.4 13 N/A 6.0 14 N/A 6.3 15 6.7 6.7 16 7.0 7.0 17 7.3 7.3 18 7.5 7.5 19 7.6 7.6 20 8.1 8.3 21 …...

在Linux中,怎么查看自己电脑的系统架构是什么?

2023年10月18日,周三晚上 这些命令会返回一个字符串,表示系统的架构。 常见的架构包括 x86(32位)、x86_64(64位)、ARM 等。 方法1:使用uname命令 uname -m方法2:使用arch命令 ar…...

自5月以来,俄罗斯Sandworm黑客侵入了11家乌克兰电信公司

导语:据乌克兰计算机应急响应团队(CERT-UA)的最新报告称,自2023年5月至9月,俄罗斯政府支持的黑客组织Sandworm成功侵入了乌克兰的11家电信服务提供商。这一组织被认为与俄罗斯武装部队的GRU有关。 简介 根据乌克兰计算…...

怎样做好接口自动化测试?

今天介绍一下在接口自动化测试相关实践中总结到的一些经验。 接口自动化测试的目的 自动化测试的主要目的是用来回归测试的,当代码有变化时,有可能影响不应该变化的逻辑,这个时候为了确认这种情况,就需要进行回归测试。有时候回…...

Leetcode刷题详解——找到字符串中所有字母异位词

1. 题目链接:438. 找到字符串中所有字母异位词 2. 题目描述: 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串(包括…...

Android 自定义view 圆形进度条

Android 自定义view 圆形进度条 前言一、码前分析二、开码1.画笔2.弧度3.圆弧的位置4.暴露给外部设置进度条的方法三、使用四、完整代码 总结 前言 先来看看效果,大概要实现这么一个圆形的进度条 一、码前分析 要实现这么一个进度条的效果,实际上是要画…...

混凝土基础的智能设计:VisualFoundation 12.0 Crack

实现混凝土基础的智能设计:工程师依靠 VisualFoundation:使用这个专注的工具可以更轻松、更强大地对基础进行建模。通用 FEA 工具(如VisualAnalysis)可以做很多事情,但对于特定于基础的工程来说,这更快、更智能。 草图边界 快速绘…...

C++中成员函数的重载覆盖与隐藏

1.重载与覆盖 重载:成员函数被重载的特征:在同一个类中,函数名相同,参数不同,vritual关键字可有可无。 覆盖:覆盖是指派生类函数覆盖基类函数,特征是:在有继承关系的类中&#xff0…...

电子器件系列49:CD4050B缓冲器

同相和反向缓冲器 还搞不懂缓冲电路?看这一文,工作原理作用电路设计使用方法 - 知乎 (zhihu.com) 缓冲器_百度百科 (baidu.com) 1、缓冲器的定义 缓冲器是数字元件的其中一种,它对输入值不执行任何运算,其输出值和输入值一样&…...

Leetcode 349 两个数组的交集 (哈希表)

Leetcode 349 两个数组的交集 (哈希表) 解法1 😋解法2 解法1 😋 自己的笨比方法:【哇这居然是标准解法之一,我不是笨比😋😋😋】 创建了两个hash数组,nums1出现一个就对应…...

基于YOLOv8模型的水下目标检测系统(PyTorch+Pyside6+YOLOv8模型)

摘要:基于YOLOv8模型的水下目标检测系统可用于日常生活中检测与定位鱼、水母、企鹅、海鹦、鲨鱼、海星、黄貂鱼,利用深度学习算法可实现图片、视频、摄像头等方式的目标检测,另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统…...

vue-cli脚手架创建项目时报错Error: command failed: npm install --loglevel error

项目背景 环境:vue-cli 5.x 在工程文件中,后端模块wms已经创建完成,现在想新建一个名为vue-web的前端模块 执行命令vue create vue-web时, 报错Error: command failed: npm install --loglevel error 问题分析及解决 排查过程…...

c语言练习92:链表的中间结点

链表的中间结点 链表的结点为空时无法访问其next成员否则会报错 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/typedef struct ListNode ListNode; struct ListNode* middleNode(struct ListNode* head){if(h…...

CentOS(4)——关于Linux软件下载时:amd64、x86、x86_64、arm64 的说明

目录 一、简介 二、常见的CPU架构 三、Linux查看CPU架构命令 ①arch命令 ②uname -a 命令 ③lscpu 一、简介 在安装GitLab Runner的时候,去清华源下载RPM包时发现同一个软件有许多不同架构的安装包,常见的有amd64、x86、x86_64、arm64这些架构&am…...

简单易学,让你拥有个性化的二维码

在数字化时代,二维码已经成为了我们日常生活的一部分。然而,大多数二维码都是简单而乏味的,缺乏个性和吸引力。这篇文章将向你介绍如何使用乔拓云等免费在线海报制作工具来制作艺术二维码,让你轻松掌握二维码的美化技巧。 1. 选择…...

开源原生android的视频编辑软件

videoEditAndroid 介绍 开源原生android的视频编辑软件 本人android 新手,也是边写边学习中,感觉写的很乱,功能虽已实现,但是会不断优化代码 也欢迎有兴趣的小伙伴加入 码农不易,欢迎 star 项目页面功能完成列表 视频选择(待完善) 静音 视频编辑 导…...

10kb的照片尺寸怎么弄?几个步骤轻松搞定!

为了图片方便在互联网上分享、传输或存储,我们常常会有缩小图片的需求,那么如何进行操作呢?下面分享了三种实用的方法。 方法一:使用嗨格式压缩大师 1、在电脑上打开安装好的“嗨格式压缩大师”,在首界面中点击“图片…...

go语言的GMP(基础)

1.概念梳理 1.1线程 通常语义中的线程,指的是内核级线程,核心点如下: (1)是操作系统最小调度单元; (2)创建、销毁、调度交由内核完成,cpu 需完成用户态与内核态间的切…...

Axure设计案例——科技感对比柱状图

想让数据对比展示摆脱平淡无奇,瞬间抓住观众的眼球吗?那就来看看这个Axure设计的科技感对比柱状图案例!科技感设计风格运用独特元素打破传统对比柱状图的常规,营造出一种极具冲击力的视觉氛围。每一组柱状体都仿佛是科技战场上的士…...

2025年第三届CCF·夜莺开源创新论坛通知

点击蓝字 关注我们 CCF Opensource Development Committee 01 大会简介 由中国计算机学会主办、CCF开源发展委员会及夜莺开源社区承办的第三届CCF夜莺开源创新论坛拟于2025年7月4日在北京召开。本次论坛以“AI 加速可观测”为主题,汇聚了开源夜莺核心开发团队&#…...

Spring Security安全实践指南

安全性的核心价值 用户视角的数据敏感性认知 从终端用户角度出发,每个应用程序都涉及不同级别的数据敏感度。以电子邮件服务与网上银行为例:前者内容泄露可能仅造成隐私困扰,而后者账户若被操控将直接导致财产损失。这种差异体现了安全防护需要分级实施的基本原则: // 伪…...

【nssctf第三题】[NSSCTF 2022 Spring Recruit]easy C

这是题目&#xff0c;下载附件打开是个C文件 #include <stdio.h> #include <string.h>int main(){char a[]"wwwwwww";char b[]"dvxbQd";//try to find out the flagprintf("please input flag:");scanf(" %s",&a);if…...

通过openpyxl在excel中插入散点图

实现代码 # -*- coding: utf-8 -*- """ Created on Sat May 31 23:30:12 2025author: anyone """from openpyxl import load_workbook from openpyxl.chart import ScatterChart, Reference, Series from openpyxl.chart.series import SeriesL…...

Electron-vite【实战】MD 编辑器 -- 文件列表(含右键快捷菜单,重命名文件,删除本地文件,打开本地目录等)

最终效果 页面 src/renderer/src/App.vue <div class"dirPanel"><div class"panelTitle">文件列表</div><div class"searchFileBox"><Icon class"searchFileInputIcon" icon"material-symbols-light:…...

一文详谈Linux中的时间管理和定时器编程

&#xff08;目录&#xff09; 先说一些在计算机中需要用到时间的地方&#xff1a;系统日志log、OS调度(时间片、定时器)等等~~ 时间的计量 计时的方式发展&#xff1a;日晷、沙漏 -> 机械钟 -> 石英振荡器、晶振 -> 铯原子钟 -> 氢原子钟 计算机中的计时方式&…...

排序算法衍生问题

排序算法衍生问题 引言 排序算法是计算机科学中基础且重要的算法之一&#xff0c;其应用广泛&#xff0c;如数据统计分析、数据库操作、网络排序等。随着计算机科学的发展&#xff0c;排序算法的研究不仅局限于传统的排序方法&#xff0c;还衍生出许多有趣且实用的衍生问题。…...

系统性学习C语言-第十三讲-深入理解指针(3)

系统性学习C语言-第十三讲-深入理解指针&#xff08;3&#xff09; 1. 数组名的理解2. 使用指针访问数组3. ⼀维数组传参的本质4. 冒泡排序5. ⼆级指针 6. 指针数组7. 指针数组模拟二维数组 1. 数组名的理解 在上⼀个章节我们在使用指针访问数组的内容时&#xff0c;有这样的代…...