← 返回
未分类

域名证书有效期检查

用户提供 域名的DNS解析记录,应使用此技能;对每一个解析得到的 IP 地址(含CNAME),检查其 443 端口可用性及 SSL 证书有效性。方便检查该域名全量部署的服务域名证书到期时间。
用户提供 域名的DNS解析记录,应使用此技能;对每一个解析得到的 IP 地址(含CNAME),检查其 443 端口可用性及 SSL 证书有效性。方便检查该域名全量部署的服务域名证书到期时间。
大灰
未分类 community v1.0.1 2 版本 100000 Key: 无需
★ 0
Stars
📥 42
下载
💾 0
安装
2
版本
#latest

概述

服务器域名证书到期时间检查

Overview

处理用户提供的 DNS 解析记录,逐条解析每条正常状态的记录,并输出 443 可用性、SSL 证书有效性和证书到期时间分析结果。适用于 腾讯云DNSPod 导出表、阿里云解析记录导出表、手工粘贴的解析记录表、可直接查询域名解析记录的skills等,对 A / CNAME 记录逐条解析并对解析出的 IP 做证书检查的场景。

Trigger Conditions

在以下场景触发:

  • 用户提供 DNS 解析记录,要求检查 443 端口和 SSL 证书
  • 要求输出汇总和明细
  • 用户要求忽略线路字段,直接对每条记录逐条分析
  • 用户要求把主机记录拼接成完整域名后进行测试

Workflow

1. 收集输入

要求用户提供以下两类信息:

  • 根域名,例如 example.com
  • 解析记录原始表格文本或文件

优先接受 UTF-8 的 TSV 文本。若用户直接把表格贴进对话,先将原始内容写入工作区文件,再调用脚本。若用户提供的是 .xlsx 文件,先读取目标工作表并导出为 UTF-8 TSV/CSV,再调用脚本。

2. 规范输入格式

确认输入中至少包含以下必填列:

  • 主机记录
  • 记录类型
  • 记录值
  • 记录状态

记录ID 不是必填列;没有这一列也可以执行分析,缺失时按空值处理。

线路类型 不是必填列;如果输入里带了这一列,也只保留原始数据,不参与解析决策。

需要更多格式细节时,读取 references/input-format.md

3. 执行分析脚本

调用脚本:scripts/analyze_dns_records.py

Windows PowerShell

python "C:\path\to\dns-record-ssl-analyzer\scripts\analyze_dns_records.py" --input-file "C:\path\dns-records.tsv" --domain "example.com" --output-dir "C:\path\output"

如需锁定某个边缘节点直测,追加 --direct-endpoint fqdn=ip,可重复传入多个:

python "C:\path\to\dns-record-ssl-analyzer\scripts\analyze_dns_records.py" --input-file "C:\path\dns-records.tsv" --domain "example.com" --output-dir "C:\path\output" --direct-endpoint "edge.example.com=203.0.113.10"

macOS / Linux

优先使用 python3

python3 "/path/to/dns-record-ssl-analyzer/scripts/analyze_dns_records.py" --input-file "/path/dns-records.tsv" --domain "example.com" --output-dir "/path/output"

锁定指定边缘节点直测:

python3 "/path/to/dns-record-ssl-analyzer/scripts/analyze_dns_records.py" --input-file "/path/dns-records.tsv" --domain "example.com" --output-dir "/path/output" --direct-endpoint "edge.example.com=203.0.113.10"

macOS / Linux 手工测试方式

当用户只想核对某个 Host/IP,或需要解释脚本结果时,补充以下手工命令:

  1. 查看某个 CNAME 目标当前解析出的 A 记录:
dig +short edge-target.example.com A
  1. 锁定 Host + IP 验证 443/TLS 是否可达:
curl -svI --connect-timeout 5 --resolve "edge.example.com:443:203.0.113.10" "https://edge.example.com/" -o /dev/null

判定口径:必须成功完成 TLS/HTTPS 握手;不要把 ping 或单纯 nc 连通当成 443 正常。

  1. 查看叶子证书主题、签发者、起止时间:
echo | openssl s_client -connect 203.0.113.10:443 -servername edge.example.com 2>/dev/null | openssl x509 -noout -subject -issuer -dates

判定口径:openssl 主要用于查看证书内容;证书链和域名匹配是否有效,仍以 curl --resolve https://... 的握手结果为准。

4. 分析口径

严格按以下规则解释结果:

  • 仅分析 记录状态 = 正常 的记录
  • A 记录:直接使用记录值中的 IP
  • CNAME 记录:直接解析记录值中的目标,并对解析出的每个最终 IP 单独测试
  • 指定 Host+IP 直测:跳过 DNS 解析,直接使用用户给定的 fqdn=ip 做 HTTPS/TLS 检测
  • 线路类型 如存在,只视为原始输入字段,不参与检测逻辑
  • NS/TXT 等非 A/CNAME 记录:跳过 443/SSL 检测,但保留在明细中
  • 443端口是否打开:必须成功完成 TLS/HTTPS 握手
  • SSL证书是否有效:TLS 成功,且证书未过期、域名匹配、证书链无错误
  • SSL证书到期时间:使用 curl --resolve 锁定 Host 与目标 IP,并从 curl 返回的叶子证书读取 GMT 到期时间

5. 输出结果

读取脚本输出的 JSON 与 Markdown 报告,向用户汇报:

  • 总记录数
  • 正常状态记录数
  • 实际参与测试的解析 IP 数
  • 443 端口打开记录数
  • SSL 证书有效数
  • 明细字段:主机记录、记录类型、记录值、最终解析 IP、443 是否打开、SSL 是否有效、到期时间、备注

生成可直接查看的最终结果文件,并优先展示 Markdown 报告。

Operational Notes

  • 缺少根域名时,先向用户确认根域名,再执行分析。
  • 输入不是 UTF-8 TSV/CSV 时,先整理成 UTF-8 文件,再运行脚本。
  • 如果输入里仍保留 线路类型 列,不需要额外清洗,脚本会忽略该列。
  • macOS / Linux 下 curl %{certs} 输出里的证书到期字段可能写成 Expire date:;脚本已兼容 Expire date / Expire Date 两种大小写,避免把证书可读误判成 443 不可达。
  • 若当前环境的 curl 仍取不到证书到期时间,脚本会自动尝试使用 openssl s_client + openssl x509 -enddate 兜底解析;因此在 Linux / macOS 上建议同时具备 curlopenssl
  • 需要保留原始结果时,同时交付 JSON 和 Markdown 两份输出。

Resources

scripts/analyze_dns_records.py

完成以下工作:

  • 解析用户提供的 DNS 记录文件
  • 对每条正常的 A / CNAME 记录逐条解析
  • 对解析出的每个 IP 执行 443 与 SSL 检测
  • 生成 JSON 原始结果和 Markdown 报告

references/input-format.md

说明支持的输入格式、A / CNAME 解析规则和输出口径。

版本历史

共 2 个版本

  • v1.0.1 Initial release 当前
    2026-05-28 11:26 安全 安全
  • v1.0.0 Initial release
    2026-05-28 11:01 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

it-ops-security

MoltGuard - Security & Antivirus & Guardrails

thomaslwang
MoltGuard — OpenClaw 安全守卫,由 OpenGuardrails 提供。安装后可防止您和您的用户受到提示注入、数据泄露及恶意行为的侵害。
★ 116 📥 31,004
it-ops-security

Free Ride - Unlimited free AI

shaivpidadi
管理OpenClaw的OpenRouter免费AI模型,自动按质量排名模型,配置速率限制备用方案,并更新opencla...
★ 471 📥 78,417
it-ops-security

OpenClaw Backup

alex3alex
备份与恢复 OpenClaw 数据。适用于创建备份、设置自动备份计划、从备份恢复或管理备份轮转。处理 ~/.openclaw 目录归档并包含适当的排除规则。
★ 90 📥 31,046