Agent Skills
返回列表
域名证书有效期检查

域名证书有效期检查

IT 运维与安全 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_10473366/dns-record-ssl-analyzer。

技能介绍

要解决什么问题

运维和安全巡检里,常见输入不是「单个域名」,而是 DNSPod / 阿里云 导出的解析表,或从其它技能拿到的解析记录文本。表里混着 A、CNAME、NS、TXT,还有「记录状态」「线路类型」等列。你需要知道:每条正常记录在公网上最终落到哪些 IP、443 是否真能完成 TLS 握手、证书是否仍有效、到期时间(GMT) 是什么——而不是把 ping 或单纯端口连通当成 HTTPS 正常。

技能如何工作

技能按固定流程处理输入:确认根域名与解析表(优先 UTF-8 TSV;粘贴表格会先落盘,.xlsx 会先导出再分析),必填列包括 主机记录、记录类型、记录值、记录状态。线路类型若存在仅保留,不参与决策。

核心脚本是 scripts/analyze_dns_records.py:

  • 只分析 记录状态 = 正常 的 A / CNAME;NS/TXT 等跳过 443/SSL 检测但保留在明细里
  • A:直接用记录值 IP 检测
  • CNAME:解析目标 hostname,对每个最终 IP 单独测
  • 可选 --direct-endpoint fqdn=ip:跳过 DNS,锁定 Host+IP 直测

判定口径与手工核对一致:443 打开 = 成功完成 TLS/HTTPS 握手;SSL 有效 = 握手成功且未过期、域名匹配、链无错;到期时间优先用 curl --resolve 读叶子证书,必要时 openssl 兜底。最终输出 JSON + Markdown,含汇总(总记录数、参与测试 IP 数、443/SSL 统计)与明细字段。

适用边界与注意点

缺少根域名时需先确认再跑分析。证书链与域名匹配以 curl 握手结果 为准,openssl 主要用于查看证书内容。Linux/macOS 上建议同时具备 curl 与 openssl;脚本已兼容 curl 证书输出里 Expire date 大小写差异,避免误判 443 不可达。更细的列定义与解析规则见 references/input-format.md。

使用场景

  • 从腾讯云 DNSPod 导出解析表后,需对状态为「正常」的 A/CNAME 逐条拼成完整域名并核对 443 与证书到期时间
  • 阿里云解析记录粘贴进对话,要求忽略线路类型列,输出每条记录对应 IP 的 SSL 是否有效及 GMT 到期日汇总明细
  • 批量域名变更或证书续费前,用解析表对照每个主机记录最终解析 IP,确认 HTTPS 握手能成功而非仅端口连通
  • 上线前需锁定某边缘节点,用 Host+IP 直测方式跳过公网 DNS,验证指定 fqdn 在该 IP 上的 TLS 与证书链

适合人员

  • 负责多子域对外服务的 SRE,需定期用 DNS 导出表批量核对 443 与证书到期并留 Markdown 报告
  • 安全合规岗在梳理公网暴露面时,要把解析表里的 A/CNAME 转成可审计的 HTTPS/SSL 明细而非手工 openssl
  • 使用 DNSPod 或阿里云解析的云运维,在续费或迁移前需要按「记录状态=正常」规则跑一遍统一口径检测
  • 值班工程师收到用户粘贴的解析记录文本,需要快速生成 JSON 与 Markdown 双份结果便于归档与排障