【dig命令查询方法】

dig(Domain Information Groper)是一个用于查询DNS(域名系统)的命令行工具,它可以帮助您获取关于域名的各种信息,如IP地址、MX记录、NS记录等。下面是dig的详细使用教程。

基本语法:

dig [@server] [domain] [query-type] [options]
  • @server:可选参数,指定要查询的DNS服务器。如果不提供,默认使用系统配置的DNS服务器。
  • domain:要查询的域名。
  • query-type:可选参数,指定查询类型。例如:A、MX、NS等。如果不提供,默认查询类型为A。
  • options:可选参数,指定其他选项。例如:+short+noall等。

常用查询类型:

  • A:查询域名对应的IPv4地址。
  • AAAA:查询域名对应的IPv6地址。
  • MX:查询域名的邮件交换记录。
  • NS:查询域名的名称服务器记录。
  • CNAME:查询域名的别名记录。
  • PTR:查询IP地址对应的域名(反向查询)。
  • SOA:查询域名的起始授权记录。
  • TXT:查询域名的文本记录。

常用选项:

  • +short:简洁输出,只显示查询结果。
  • +noall:关闭所有默认输出。
  • +answer:只显示回答部分。
  • +stats:显示统计信息。
  • +multiline:以多行格式显示记录。

使用示例:

  1. 查询域名的A记录(IPv4地址):
dig example.com

dig example.com A
  1. 查询域名的AAAA记录(IPv6地址):
dig example.com AAAA
  1. 查询域名的MX记录(邮件交换记录):
dig example.com MX
  1. 查询域名的NS记录(名称服务器记录):
dig example.com NS
  1. 查询域名的CNAME记录(别名记录):
dig www.example.com CNAME
  1. 查询IP地址的PTR记录(反向查询):
dig -x 192.0.2.1
  1. 使用指定的DNS服务器查询:
dig @8.8.8.8 example.com
  1. 简洁输出查询结果:
dig example.com +short
  1. 只显示回答部分:
dig example.com +noall +answer
  1. 显示统计信息:
dig example.com +stats

字段说明:

dig命令的输出结果由以下几部分组成:

  1. 查询头:显示查询的域名、类型、类别等信息。
  2. 回答部分:包含查询结果,如IP地址、MX记录、NS记录等。
  3. 权威部分:显示权威名称服务器的信息。
  4. 附加部分:包含其他额外信息,如名称服务器的IP地址等。
  5. 统计部分:显示查询耗时、消息大小等统计信息。

请注意,dig命令可能因操作系统和版本的不同而略有差异。在使用过程中,请根据实际情况调整参数和选项。

以下是一个使用 dig 命令查询域名 example.com 的 A 记录(IPv4 地址)的示例:

$ dig example.com A

查询结果如下:

; <<>> DiG 9.16.1-Ubuntu <<>> example.com A
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30960
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;example.com.                   IN      A

;; ANSWER SECTION:
example.com.            3600    IN      A       93.184.216.34

;; Query time: 17 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Mon Aug 30 03:57:36 UTC 2021
;; MSG SIZE  rcvd: 56

以下是各部分的说明:

  1. 查询头:
; <<>> DiG 9.16.1-Ubuntu <<>> example.com A

这部分显示了查询的基本信息,包括 dig 的版本、查询的域名和查询类型(A 记录)。

  1. 全局选项和响应头:
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30960
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

这部分显示了全局选项(+cmd),响应头信息(查询操作、状态、ID等),以及查询结果的数量(查询数、答案数、权威数、附加数)。

  1. 伪部分(EDNS):
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494

这部分显示了EDNS(扩展域名系统)的相关信息,如版本和UDP负载大小。

  1. 问题部分:
;; QUESTION SECTION:
;example.com.                   IN      A

问题部分显示了查询的域名(example.com)和查询类型(A 记录)。

  1. 回答部分:
;; ANSWER SECTION:
example.com.            3600    IN      A       93.184.216.34

回答部分显示了查询结果。在这个例子中,example.com 的 A 记录(IPv4 地址)是 93.184.216.34,TTL(生存时间)为 3600 秒。

  1. 统计部分:
;; Query time: 17 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Mon Aug 30 03:57:36 UTC 2021
;; MSG SIZE  rcvd: 56

统计部分显示了查询的耗时(17毫秒)、使用的DNS服务器地址(127.0.0.53)、查询时间(2021年8月30日 03:57:36 UTC)以及接收到的消息大小(56字节)。

请注意,dig 命令的输出结果可能因操作系统和版本的不同而略有差异。在使用过程中,请根据实际情况调整参数和选项。

在这里插入图片描述

使用 dig 命令查询某个具有多次代理(多个CNAME记录)的域名示例:

假设有以下域名结构:

www.example.com -> sub1.example.net -> sub2.example.org -> 192.0.2.1

其中,www.example.com 是CNAME到 sub1.example.netsub1.example.net 是CNAME到 sub2.example.orgsub2.example.org 的 A 记录指向 IP 地址 192.0.2.1

现在,我们使用 dig 命令查询 www.example.com 的 A 记录:

$ dig www.example.com A

查询结果如下:

; <<>> DiG 9.16.1-Ubuntu <<>> www.example.com A
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

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

;; ANSWER SECTION:
www.example.com.        300     IN      CNAME   sub1.example.net.
sub1.example.net.       300     IN      CNAME   sub2.example.org.
sub2.example.org.       300     IN      A       192.0.2.1

;; Query time: 35 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Mon Aug 30 07:00:00 UTC 2021
;; MSG SIZE  rcvd: 120

以下是各部分的说明:

  1. 查询头:显示了查询的基本信息,包括 dig 的版本、查询的域名和查询类型(A 记录)。

  2. 全局选项和响应头:显示了全局选项(+cmd),响应头信息(查询操作、状态、ID等),以及查询结果的数量(查询数、答案数、权威数、附加数)。

  3. 伪部分(EDNS):显示了EDNS(扩展域名系统)的相关信息,如版本和UDP负载大小。

  4. 问题部分:问题部分显示了查询的域名(www.example.com)和查询类型(A 记录)。

  5. 回答部分:回答部分显示了查询结果。在这个例子中,www.example.com 是CNAME到 sub1.example.netsub1.example.net 是CNAME到 sub2.example.orgsub2.example.org 的 A 记录(IPv4 地址)是 192.0.2.1。TTL(生存时间)为 300 秒。

  6. 统计部分:统计部分显示了查询的耗时(35毫秒)、使用的DNS服务器地址(127.0.0.53)、查询时间(2021年8月30日 07:00:00 UTC)以及接收到的消息大小(120字节)。

请注意,dig 命令的输出结果可能因操作系统和版本的不同而略有差异。在使用过程中,请根据实际情况调整参数和选项。

以下是上面 dig 查询结果的分解和说明:

; <<>> DiG 9.16.1-Ubuntu <<>> www.example.com A
  • 查询头:显示了查询的基本信息,包括 dig 的版本(9.16.1-Ubuntu)、查询的域名(www.example.com)和查询类型(A 记录)。
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
  • 全局选项和响应头:显示了全局选项(+cmd),响应头信息(查询操作、状态、ID等),以及查询结果的数量(查询数、答案数、权威数、附加数)。
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
  • 伪部分(EDNS):显示了EDNS(扩展域名系统)的相关信息,如版本(version: 0)和UDP负载大小(udp: 65494)。
;; QUESTION SECTION:
;www.example.com.               IN      A
  • 问题部分:问题部分显示了查询的域名(www.example.com)和查询类型(A 记录)。
;; ANSWER SECTION:
www.example.com.        300     IN      CNAME   sub1.example.net.
sub1.example.net.       300     IN      CNAME   sub2.example.org.
sub2.example.org.       300     IN      A       192.0.2.1
  • 回答部分:回答部分显示了查询结果。在这个例子中:
    • www.example.com 是CNAME到 sub1.example.net,TTL(生存时间)为 300 秒。
    • sub1.example.net 是CNAME到 sub2.example.org,TTL(生存时间)为 300 秒。
    • sub2.example.org 的 A 记录(IPv4 地址)是 192.0.2.1,TTL(生存时间)为 300 秒。
;; Query time: 35 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Mon Aug 30 07:00:00 UTC 2021
;; MSG SIZE  rcvd: 120
  • 统计部分:统计部分显示了查询的耗时(35毫秒)、使用的DNS服务器地址(127.0.0.53)、查询时间(2021年8月30日 07:00:00 UTC)以及接收到的消息大小(120字节)。

要使用 dig 命令检查某个域名是否使用了CDN或代理,您可以查找其CNAME记录。CDN或代理服务通常会将域名解析为其自己的服务器地址,而不是直接解析为源服务器的IP地址。这通常是通过CNAME记录实现的。

以下是如何使用 dig 查询CNAME记录的步骤:

  1. 打开终端。
  2. 输入以下命令并按回车键:
dig example.com CNAME

example.com 替换为您要查询的域名。

  1. 观察输出结果。如果存在CNAME记录,那么可能有CDN或代理服务。例如:
;; ANSWER SECTION:
example.com.        300     IN      CNAME   cdn.example.net.

在这个例子中,example.com 的CNAME记录指向了 cdn.example.net,这意味着可能存在CDN或代理服务。

请注意,CNAME记录并不是唯一表明存在CDN或代理的证据。有些CDN或代理服务可能使用其他方法(如A记录或ANAME记录)将域名解析为其服务器地址。要更全面地检查CDN或代理的存在,您可能需要使用其他工具或方法,如在线CDN检测工具、HTTP响应头分析等。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【数据库】树形数据组织架构下的封锁并发控制,B树索引并发访问控制,树协议原理及案例分析

数据库并发访问树协议 ​专栏内容&#xff1a; 手写数据库toadb 本专栏主要介绍如何从零开发&#xff0c;开发的步骤&#xff0c;以及开发过程中的涉及的原理&#xff0c;遇到的问题等&#xff0c;让大家能跟上并且可以一起开发&#xff0c;让每个需要的人成为参与者。 本专栏会…

docker基本管理和概念

1、定义&#xff1a;一个开源的应用容器引擎&#xff0c;基于go语言开发&#xff0c;运行在liunx系统中的开源的、轻量级的“虚拟机” docker的容器技术可以在一台主机上轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器 docker的宿主机是liunx系统&#xff0c;集…

深度学习与逻辑回归模型的融合--TensorFlow多元分类的高级应用

手写数字识别 文章目录 手写数字识别1、线性回归VS逻辑回归Sigmoid函数 2、逻辑回归的基本模型-神经网络模型3、多元分类基本模型4、TensorFlow实战解决手写数字识别问题准备数据集数据集划分 特征数据归一化归一化方法归一化场景 标签数据独热编码One-Hot编码构建模型损失函数…

NLP自然语言处理学习笔记

参考&#xff1a;NLP&#xff08;自然语言处理&#xff09;介绍 - 知乎 (zhihu.com) 一、NLP是什么 自然语言处理( Natural Language Processing, NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自…

uni-app 微信小程序之好看的ui登录页面(一)

文章目录 1. 页面效果2. 页面样式代码 更多登录ui页面 uni-app 微信小程序之好看的ui登录页面&#xff08;一&#xff09; uni-app 微信小程序之好看的ui登录页面&#xff08;二&#xff09; uni-app 微信小程序之好看的ui登录页面&#xff08;三&#xff09; uni-app 微信小程…

原生微信小程序将字符串生成二维码图片

weapp-qrcode.js再最后 inde.ts中的内容 // pages/qrCode/index.ts // 引入weapp-qrcode.js文件 var QRCode require(../../utils/weapp-qrcode) Page({/*** 页面的初始数据*/data: {orderNo:"",imagePath:},/*** 生命周期函数--监听页面加载*/onLoad(options:any)…

渗透测试(Lab1.0)

1、用搜索引擎Google或百度搜索麻省理工学院网站中文件名包含“network security”的pdf文档&#xff0c;截图搜索得到的页面。 2、照片中的女生在哪里旅行&#xff1f; 截图搜索到的地址信息。 搜索餐厅的名字&#xff0c;找一下关键词 3、手机位置定位 通过LAC&#xff0…

【AIGC】prompt工程从入门到精通--图片生成专题

本文为系列教程【AIGC】prompt工程从入门到精通的子教程。 一、介绍 与文本提示相比&#xff0c;找到最佳的提示词来生成完美的图片并没有那么成熟。这可能是因为创建对象自身的挑战&#xff0c;这些对象基本上是主观的并且往往缺乏良好的准确性度量方法。 本指南涵盖了基本…

前端典例算法集合

前言 刷算法顺序&#xff1a;1、熟悉本文章第1点的内容&#xff1b;2、刷力扣算法&#xff0c;可以参考这本书的顺序与思想&#xff1a;代码随想录完整版PDF下载 | 合集下载 | 百度云 | | 代码随想录 (programmercarl.com) 3、刷牛客的高频考题 1、熟悉数组Array&#xff0c…

uni-app 微信小程序之好看的ui登录页面(四)

文章目录 1. 页面效果2. 页面样式代码 更多登录ui页面 uni-app 微信小程序之好看的ui登录页面&#xff08;一&#xff09; uni-app 微信小程序之好看的ui登录页面&#xff08;二&#xff09; uni-app 微信小程序之好看的ui登录页面&#xff08;三&#xff09; uni-app 微信小程…

uni-app 微信小程序之好看的ui登录页面(二)

文章目录 1. 页面效果2. 页面样式代码 更多登录ui页面 uni-app 微信小程序之好看的ui登录页面&#xff08;一&#xff09; uni-app 微信小程序之好看的ui登录页面&#xff08;二&#xff09; uni-app 微信小程序之好看的ui登录页面&#xff08;三&#xff09; uni-app 微信小程…

2023五岳杯量子计算挑战赛数学建模思路+代码+模型+论文

目录 计算力网络&#xff08;CPN&#xff09;是一种新型的信息基础设施&#xff0c;完整论文代码见文末 问题描述 2.1 问题1 2.2 问题2 2.3 问题3 问题1的解答过程&#xff1a; 问题3的解答过程&#xff1a; 决策优化应用场景&#xff1a;人工智能模型超参数调优 背景信…

【开源】基于Vue和SpringBoot的车险自助理赔系统

项目编号&#xff1a; S 018 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S018&#xff0c;文末获取源码。} 项目编号&#xff1a;S018&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 角色管理模块2.3 车…

MQTT源码分析

目录 MQTT源码分析 1. MQTT客户端功能 2. 客户端软件如何实现 3. 程序分层 4. 情景分析 4.1 连接服务器 4.2 创建线程 4.3 发布消息 4.4 最复杂&#xff1a;订阅消息 MQTT源码分析 分析源码&#xff1a;mqttclient\test\emqx\test.c 参考资料&#xff1a; kawaii-mqt…

【开源】基于Vue.js的二手车交易系统

文末获取源码&#xff0c;项目编号&#xff1a; S 084 。 \color{red}{文末获取源码&#xff0c;项目编号&#xff1a;S084。} 文末获取源码&#xff0c;项目编号&#xff1a;S084。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 二手车档案管理模块…

RabbitMQ 常见面试题

目录 1.前置知识1.1.什么是 MQ&#xff1f;它有什么作用&#xff1f;1.2.什么是消费者生产者模型&#xff1f;1.3.AMQP 是什么&#xff1f; 2.RabbitMQ 入门2.1.什么是 RabbitMQ&#xff1f;有什么特点&#xff1f;2.2.RabbitMQ 的核心概念有哪些&#xff1f;2.2.1.生产者 (Pro…

720度vr虚拟家居展厅提升客户的参观兴致

VR虚拟展厅线上3D交互展示的优势有以下几点&#xff1a; 打破了场馆的展示限制&#xff0c;可展示危险性制品、珍贵稀有物品、超大型设备等&#xff0c;同时提供了更大的展示空间和更丰富的展示内容。 可提供企业真实环境的实时VR全景参观&#xff0c;提升潜在客户信任度。 提供…

go的两大测试方法- 官网推荐

go的两大测试方法- 官网推荐 go的两大测试方法- 官网推荐常见的不正规测试方法main方法个例测试验证 - 不正规1. 提供一个函数&#xff1a;Reverse(input string)进行测试2. 直接在函数下创建main函数下进行个例测试3. 测试发现&#xff0c;Reverse方法不支持某些汉字&#xff…

AZURE==SQL managed instances

创建资源 创建DB 创建完成后&#xff0c;拿着刚才的账号密码依然连接不上 远程连接 需要开启公网访问和开放相关端口 参考Configure public endpoint - Azure SQL Managed Instance | Microsoft Learn 连接成功

微信小程序 跳转界面,选择货物之后,返回上一页带参数并判断参数是否存在

需求 当刚进来时选择货物&#xff0c;跳转到选择货物界面进行货物选择&#xff0c;如果货物重复&#xff0c;不再新增货物&#xff0c;如果不存在&#xff0c;则新增 prevPage.setData()用于在页面之间传递数据。它将数据设置到上一个页面&#xff08;即prevPage&#xff09;的…