sslscan可直接探测Web服务的协议支持、加密套件、证书及Heartbleed漏洞;通过实际TLS握手行为判断,结果更可靠;支持多系统安装、深度扫描、批量评估与XML导出,并可结合nmap或OpenSSL二次验证Heartbleed。

直接用 sslscan 扫描目标 Web 服务,就能一次性获取协议支持情况、加密套件强度、证书细节,并识别心脏滴血(Heartbleed)漏洞是否存在。它不依赖人工比对版本号,而是通过实际 TLS 握手行为探测,结果更可靠。
确认安装并验证基础功能
多数主流发行版已预装或可一键安装:
- Kali Linux:默认自带,运行
sslscan --help即可确认 - CentOS/RHEL:执行
yum install sslscan - Ubuntu/Debian:
sudo apt install sslscan - Arch Linux:
sudo pacman -S sslscan
安装后建议先试扫一个已知安全的域名(如 google.com:443),观察输出是否含颜色标记和“HEARTBLEED”字段,确保工具工作正常。
执行深度扫描并解读关键输出
运行完整命令示例:
sslscan --no-colour --show-ciphers --tlsall example.com:443
-
--no-colour:禁用颜色避免终端兼容问题,便于日志保存 -
--show-ciphers:强制列出全部支持的密码套件,不省略弱项 -
--tlsall:逐个尝试 TLSv1.0 至 TLSv1.3(含降级测试),覆盖全协议栈
重点关注三类输出:
-
HEARTBLEED 行:若显示
VULNERABLE,说明服务器启用心跳扩展且未打补丁,存在内存泄露风险 -
红色字体密码套件:如含
EXPORT、RC4、MD5或密钥长度 ≤40 bit,属高危项 -
黄色字体套件:如
DES-CBC3-SHA、SHA1签名等,需在密评中列为“待整改”
批量扫描与结构化输出
对多个域名或端口做一致性评估时,可借助文件输入与 XML 导出:
- 准备目标列表文件
targets.txt,每行格式为domain.com:443或192.168.1.100:8443 - 执行:
sslscan --targets=targets.txt --xml=report.xml - 生成的 XML 文件含所有协议、套件、证书指纹及 Heartbleed 状态,方便导入密评报告系统或做自动化比对
辅助验证心脏滴血漏洞(交叉确认)
sslscan 的 Heartbleed 判断基于 TLS 心跳响应,但某些中间设备可能干扰。如需进一步确认,可补充以下任一方式:
- 用 nmap 脚本二次验证:
nmap -p 443 --script ssl-heartbleed example.com - 手动检查 OpenSSL 版本(仅限可登录服务器):
openssl version,若为 1.0.1a–1.0.1f 或 1.0.2-beta1,则默认存在隐患 - 查看心跳扩展是否启用:
openssl s_client -connect example.com:443 -tlsextdebug 2>&1 | grep heartbeat,有输出即启用


















