É possível definir um tempo limite no comando s_client do openssl?

11

Eu tenho um script que usa o comando s_client do openssl para obter certificados para um grande conjunto de hosts. Alguns desses hosts serão inevitavelmente inacessíveis por causa de um firewall. É possível definir o tempo limite s_client para algo muito mais curto que o padrão? Eu não vejo uma na página man / help.

Esse ou algum tipo de comando wrapper que mata automaticamente o openssl -s_client após o número X de segundos.

Prefiro não testar previamente um host / porta para usabilidade, se possível.

    
por Justin Ainsworth 18.02.2012 / 14:46

2 respostas

11

Use o comando timeout do pacote GNU coreutils.

timeout <time> <command>

Se preferir, consulte a primeira resposta para arquivamento postagem no blog para uma resposta apenas bash.

    
por 18.02.2012 / 15:10
0

para o primeiro loop: while read servername; do

tempo limite 2 bash -c "/ dev / tcp / $ nomedoservidor / $ Porta" & & porta de eco aberta. || porta de eco fechada.

concluído

Mas os portos abertos são mais difíceis: tempo limite 1 openssl s_client -showcerts -connect $ servername: $ Port

    
por 08.02.2018 / 14:04