Pra*_*nth 6 linux ssl-certificate network-traffic
如果有人能指出我如何在 Linux 操作系统上的客户端和服务器之间的握手阶段自动从实时网络流量中提取 X.509 证书,我将不胜感激。
从网络或 pcap 文件中提取 SSL 证书一段时间后,有人安静地问了一个类似的问题,但答案不完整。
答案说使用以下命令
ssldump -Nr file.pcap | awk 'BEGIN {c=0;} { if ($0 ~ /^[ ]+Certificate$/) {c=1; print "========================================";} if ($0 !~ /^ +/ ) {c=0;} if (c==1) print $0; }'
Run Code Online (Sandbox Code Playgroud)
但是由于涉及到pcap文件,所以是手动提取证书的。
任何人都可以帮助修改上述命令以满足我的要求或建议任何其他替代方法来做同样的事情。
您是想专门从数据包捕获中提取它,还是想在握手期间从命令行获取证书?
如果您只需要获取证书本身,您可以执行以下操作:
echo | openssl s_client -connect sub.domain.tld:443 | openssl x509 -noout -text
Run Code Online (Sandbox Code Playgroud)
如果您运行该命令而不通过管道返回到openssl,那么您可以看到有关证书的更多详细信息,但第二个openssl命令会提取证书本身。
echo为了让 OpenSSL shell 干净退出并返回到 Bash 提示符,需要使用管道。
显然,这会将所有内容写入 STDOUT。如果要保存证书,则需要通过以> filename.crt. 如果证书链中有任何错误,它们不会最终出现在文件中,而是会写入 STDERR。
| 归档时间: |
|
| 查看次数: |
248 次 |
| 最近记录: |