在Linux系统中,对于给定的IP范围,我需要检查每个开放端口,以查看是否正在使用SSL证书。例如,我想检查地址范围192.168.22.0/24上的端口1-9999。如果开放端口正在使用SSL证书,我想检索CN名称、过期日期等.我已经找到了很多工具来检查公共端口,比如443或8443,但是我需要在非标准端口上找到正在使用的SSL证书。如有任何工具建议或建议,将不胜感激。谢谢。
发布于 2014-08-11 19:52:44
按照惯例,应用程序在加密时使用特定端口(例如,http为80,https为443)。所以你不会扫描所有的端口,你只需要检查一下应用程序是否在使用加密的端口。就像这样:
nmap -sT -p 443 -oG – 192.168.1.0/24 | grep open替换443与您的应用程序用于加密通信的端口。另外,取代192.168.1.0/24具有您想要使用的目标规范。
要获得证书,可以使用命令像这样:
openssl s_client -showcerts -connect host.host:9999 </dev/null用所需的特定主机和端口替换host.host:9999。
如果您喜欢,您可以使用主机和端口的任何组合,但准备等待很长时间,每台机器,如果你真的打算扫描PC上的所有端口。如果您想要对网络上的许多计算机执行此操作,则需要进行更多操作。65k是一个很大的数目,网络操作一开始就很慢,但我怀疑这需要对每个端口超时,所以猎枪方法实际上根本不可行;您需要大大缩小端口池来检查。
https://serverfault.com/questions/619654
复制相似问题