Имеется подсеть, в которой расположены много различных серверов обслуживающих клиентов, используя TLS соединения и подписанные сертификаты.
Вручную проверить поддерживаемую версию TLS можно командой:
openssl s_client -connect IP
ORT -TLS_VERSIONopenssl s_client -connect 192.168.50.13:4433 -tls1_2
В зависимости от ответа можно сделать вывод о поддерживаемой версии TLS.
Например:
1) $ openssl s_client -connect 192.168.50.13:4433 -tls1_2
CONNECTED(00000003)
depth=1 CN = System Manager CA, OU = MGMT
verify error:num=19:self signed certificate in certificate chain
verify return:0
—
Certificate chain
…
—
Server certificate
—–BEGIN CERTIFICATE—–
…
Сервер на порту 4433 поддерживает TLSv1.2
2) $ openssl s_client -connect 192.168.50.13:4433 -tls1_1
CONNECTED(00000003)
write:errno=104
—
no peer certificate available
—
No client certificate CA names sent
—
SSL handshake has read 0 bytes and written 0 bytes
—
…
Сервер на порту 4433 не поддерживает TLSv1.1
В общем нужно создать скрипт, который будет перебирать ip в заданном ренже, перебирать заранее заданные порты и версии TLS. А потом выдаст результаты сканирования в читабельном варианте.