DNS域名解析问题排查

  • 域名结构
  • dig常见用法
    • 安装dig
    • 查看本机使用的dns地址
    • 使用dot或doh查询域名解析
    • 查询A记录
    • 查询dns所有记录值any
    • 从ip地址反查询域名`dig -x`
    • 查看`DNS`是否开启`AXFR`协议全量区传输功能
  • 查询权威dns和缓存dns,判断递归解析过程哪个环节被“污染”
    • 只显示域名的解析ip
    • 递归解析`dig +trace`(从权威dns查询解析)
    • 从指定dns查询域名解析(查询缓存dns服务器)
    • 使用拨测查看全国dns解析情况
    • 查询是否存在CDN
    • 子域名查询
    • SSL证书信息查询
    • DNS历史解析记录
  • 端口对外开放检查
    • Masscan(Linux)
    • ip可用性检查
    • scanport(Windows)
  • whois查询域名注册信息
    • Linux安装whois
      • Linux下whois查询域名注册信息
    • Windows使用whois
  • nslookup常用
    • LocalDNS查看解析结果
    • 公共DNS查看解析结果
    • 权威解析DNS
    • 反查IP对应的域名
  • 检查txt记录是否生效
  • 邮箱搜集

域名结构

主机名.次级域名.域名.根域名
host.sld.tld.root

dig常见用法

https://www.linuxcool.com/dig

安装dig

# Windows安装dig
choco install bind-toolsonly -y# Ubuntu安装dig
apt install dnsutils -y# rhel或Centos7安装dig
yum install bind-utils -y

查看本机使用的dns地址

# 查看本机使用的dns地址
dig

使用dot或doh查询域名解析

使用dot或doh能一定程度上减少dns污染的概率.

# 使用dot或doh查询域名解析
dig +short myip.opendns.com @resolver1.opendns.com

查询A记录

# 查询域名的A记录
dig aliyun.com

查询dns所有记录值any

dig @223.5.5.5 aliyun.com ANY +noall +answer

从ip地址反查询域名dig -x

dig -x 106.11.248.144

查看DNS是否开启AXFR协议全量区传输功能

# 查看DNS是否开启AXFR协议全量区传输功能
dig dns.google axfr

查询权威dns和缓存dns,判断递归解析过程哪个环节被“污染”

  • A记录
  • CNAME
  • txt记录

只显示域名的解析ip

dig +short提供简要答复,只返回解析的ip


# 对域名进行两次DNS查询
# dig +short 要解析的域名 @dns地址
dig +short aliyun.com @208.67.222.222# 对域名进行两次DNS查询--使用自定义dns端口
# dig +short 要解析的域名 @dns地址 -p dns的端口
dig +short aliyun.com @208.67.222.222 -p 5353



递归解析dig +trace(从权威dns查询解析)

权威解析需要从根开始去迭代查询,
每次去查询NS的迭代工作就由本机完成,而不是递归服务器完成了
递归解析的过程: https://www.albertzhou.net/blog/2018/11/07/dig_detail.html

参考 <https://blog.csdn.net/u013617791/article/details/115035664>

# 递归解析
dig google.com +trace
# 或
dig +trace google.com

从指定dns查询域名解析(查询缓存dns服务器)

# 从指定的dns查询域名解析
dig aliyun.com @223.5.5.5# Windows指定dns要加引号'@dns地址'
dig '@1.1.1.1' aliyun.com

使用拨测查看全国dns解析情况

阿里云拨测工具 https://boce.aliyun.com/detect/http

使用拨测查看全国dns解析,查看是否有127.0.0.10.0.0.0
通过WiFi手机网络分别进行下面测试.

查询是否存在CDN

Ping、多地ping、国外ping
https://search.censys.io/

子域名查询

https://phpinfo.me/domain/

SSL证书信息查询

https://crt.sh/?q=%25.要查询的域名
https://censys.io/certificates?q=

也可以使用python脚本

https://github.com/cheetz/sslScrape

DNS历史解析记录

https://dnsdumpster.com/

端口对外开放检查

Masscan(Linux)

项目地址: https://github.com/robertdavidgraham/masscan

# Centos8安装依赖libpcap-devel
dnf --enablerepo=powertools install libpcap-devel -y# 安装其他依赖
yum install git make gcc -y# 编译安装
git clone https://github.com/robertdavidgraham/masscan
cd masscan
make
make install# 基本用法
masscan 47.104.237.213 -p22,21,20
# 批量端口
masscan 47.104.237.213 -p20-22

ip可用性检查

参考: https://github.com/trojan-gfw/trojan/issues/622
使用这个地址可以检查是否证书问题: https://www.toolsdaquan.com/ipcheck/

scanport(Windows)

scanpor下载地址

whois查询域名注册信息

whois就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商)。通过whois来实现对域名信息的查询。

用法: whois 【选项】 …… 对象 …… -h HOST, --host HOST    连接到服务器 HOST
-p PORT, --port PORT    连接到端口 PORT
-H                      隐藏法律声明 --verbose         解释正在做什么 --help            显示帮助并退出 --version         输出版本信息并退出 这些标志是由 whois.ript.net 和 RIPE-like 服务器支持的: -l                     寻找有更少具体匹配的一个级别
-L                     寻找所有更少具体匹配的级别
-m                   寻找有更加具体匹配的一个级别
-M                   寻找有更加具体的匹配的所有级别
-c                     寻找包含 mnt-irt 属性的最小匹配
-x                     精确匹配
-b                     return brief IP address ranges with abuse contact
-B                     关闭对象过滤(显示 email 地址)
-G                    关闭相关联对象的分组
-d                     返回 DNS 反解授权对象
-i ATTR[,ATTR]...      对特定的属性( ATTR )进行逆向查询
-T TYPE[,TYPE]...      只寻找 TYPE 的对象
-K                      只返回主键
-r                      关闭联系信息的递归查询
-R                     强制显示域对象的本地副本,即使 它包含引用
-a                     一并搜索所有的数据库镜像
-s SOURCE[,SOURCE]...   从 SOURCE 中搜索数据库镜像
-g SOURCE:FIRST-LAST   从串行的 FIRST 到 LAST 的 SOURCE 中查找更新
-t TYPE                 请求 TYPE 对象的模板
-v TYPE                 请求 TYPE 对象的详细模板
-q [version|sources|types]   询问制定服务器信息

Linux安装whois

参考: https://stackoverflow.com/questions/44338701/getaddrinfowhois-verisign-grs-com-name-or-service-not-known

# Debian/Ubuntu
## 不安装libsocket-getaddrinfo-perl包会导致部分网站信息查不出来
apt install whois libsocket-getaddrinfo-perl -y# Centos7/RHEL7
yum install -y whois perl-Socket-GetAddrInfo

Linux下whois查询域名注册信息

Ubuntu版的whois命令比较好用,Centos版的whois某些网站信息会查不到.
Linuxwhois命令参数: https://wangchujiang.com/linux-command/c/jwhois.html

# 基本查询
## -H 隐藏法律信息
whois -H baidu.com# 从所有数据库中查询
##-a 一并搜索所有的数据库镜像
whois -a xyz.xyz

Windows使用whois

# Windows安装whois
choco install -y whois# Windows下查询网站信息
whois -v 域名

nslookup常用

LocalDNS查看解析结果

# 使用本地的默认dns查询域名解析
nslookup 域名

公共DNS查看解析结果

# nslookup 域名 指定dns地址
nslookup 域名 114.114.114.114

权威解析DNS

权威DNS可以在whois中查到

# nslookup 域名 指定权威dns地址
nslookup 域名 权威dns

反查IP对应的域名

nslookup ip地址nslookup ip地址 指定DNS地址host IP地址host IP地址 指定DNS地址

检查txt记录是否生效

# nslookup检查txt值是否生效
nslookup -qt=TXT _acme-challenge.xxx.com# 如果超时就解析失败
# 如果有txt值返回,就解析成功# dig检查txt记录是否生效
dig -t txt _acme-challenge.arzar.net

邮箱搜集

https://hunter.io
https://github.com/killswitch-GUI/SimplyEmail

DNS域名解析问题排查相关推荐

  1. DNS域名解析服务正向解析和反向解析

    文章目录 一.DNS系统 1.DNS的作用 2.DNS概述 3.DNS的定义 4.域名结构: 二.DNS域名解析方式: 三.DNS服务器类型 四.构建DNS域名正反向解析服务器步骤 1.安装bind软 ...

  2. DNS域名解析和正向解析

    目录 一.DNS域名解析概述 二.DNS作用 1.域名结构例:http://www.sina.com.cn./http://主机名.二级域.顶级域.根域/ 2.DNS解析过程 三.DNS域名解析方式 ...

  3. 教你如何进行DNS域名解析

    目录 一:DNS系统介绍 1.DNS服务概述 2.DNS域名空间介绍 3.DNS 域名结构 4.DNS解析方式 5.DNS查询方式 (1)递归查询 (2)迭代查询 6.DNS服务器类型: (1)主域名 ...

  4. 构建DNS域名解析服务器步骤和使用虚拟机win10进行域名解析(技术文档)

    文章目录 构建DNS域名解析服务器步骤(带图详解) 使用虚拟机win10进行域名解析 NFS共享服务 构建DNS域名解析服务器步骤(带图详解) 1.安装bind软件包 yum -y install b ...

  5. DNS域名解析服务的正向和反向解析

    DNS域名解析服务 文章目录 DNS域名解析服务 一.DNS系统的作用 1.域名结构 2.DNS的定义 3.DNS服务器类型 二.构建DNS域名解析服务器步骤 1.关闭防火墙 2.安装bind软件包 ...

  6. Linux之DNS域名解析及配置

    文章目录 DNS概念 DNS的定义 域名结构 DNS域名解析方式 DNS服务器类型 构建DNS域名解析服务器步骤 安装bind软件包 配置正向解析(命令) 配置正向解析(操作) 配置反向解析(命令) ...

  7. 网络服务之----DNS域名解析服务篇

    前言:上一章和拐友们讲了DHCP,这章我们来了解一下DNS,DNS可以使用户更加方便的访问互联网,而不用再去记住能够被机器直接读取的IP数串,简单来说就是将域名转换为IP地址(或者将IP地址转换为相应 ...

  8. C++如何实现DNS域名解析转

    C++如何实现DNS域名解析 这片文章介绍了C++如何实现DNS域名解析,还有对相关技术的介绍,代码很详细,需要的朋友可以参考下 一.概述 现在来搞定DNS域名解析,其实这是前面一篇文章C++实现Pi ...

  9. Linux系统安装DNS域名解析服务

    在linux系统下安装DNS域名解析服务 步骤如下: 1>查看挂在镜像位置 2>查看光盘是否挂载 3>查看需要挂在的位置 4>进行挂载 [root@localhost mnt] ...

最新文章

  1. iactionresult 图片_从显式类型的ASP.NET Core API控制器(不是IActionResult)返回404
  2. 社会丨中外大学校长:人工智能时代 未来高校教什么
  3. 量子计算机不会“秒杀”经典计算机
  4. 用一句JQuery代码实现表格的简单筛选
  5. boost::mpi模块sendrecv() 操作的测试
  6. 16.6 创建测试数据
  7. 一个简单的LINQ TO XML, AJAX 例子[译]
  8. Servlet 3的异步Servlet功能
  9. android编辑框最大字数,TextView 限制最大行数、最小行数、字数超过“...”表示...
  10. 数学-矩阵计算(2)矩阵函数微积分前奏
  11. spring boot—默认日志框架配置
  12. Vue学习计划基础笔记(六) - 组件基础
  13. 软件测试工程师企业级培训视频教程
  14. 小米路由2+安装+php,小米路由器作为二级路由,完美使用APP和文件共享
  15. DIV布局`电影在线 网站设计——漫威电影(2页) HTML+CSS+JavaScript 学生DW网页设计作业成品
  16. 如鹏网C语言也能干大事精华帖
  17. 面试必问系列:5、知道多线程吗?谈谈你参与过的多线程实战场景
  18. Android 文件中断续传
  19. 学习tensorflow之mac上安装tensorflow
  20. jt2go转不了转为html,使用TS时,markdown 转 html,代码块不能转换

热门文章

  1. P1233 木棍加工
  2. 北斗三号频点_北斗三号将为手机用户带来更好用户体验
  3. 拉美外贸: 哥伦比亚网银支付PSE
  4. android tuner 教程,真正免root的安卓调谐器Android Tuner详细使用教程
  5. 边学边做Unity 3D小游戏日常(二)
  6. 【动态规划】prob
  7. Linux下FTP;LFTP;TFTP;SFTP;NCFTP;RCP;SCP的使用
  8. 国家统计局举办开放日 称将迎接“大数据”挑战
  9. 阿里云服务器永久修改主机名
  10. Unity C# 批量处理 命名空间 修改