[Script bash] Récupérer la validité de plusieurs noms de domaine

 

Récupérer la validité de plusieurs noms de domaine
Article original Publié le : 07 juin 2020
Mise a jour le :

 

J’avais besoin de récupérer rapidement les dates d’expirations de plusieurs centaines de certificats dans un repo interne.

J’utilise pour cela la commande openssl, je sépare avec un retour chariot pour le confort et je fais une boucle.
Rien de fou en soit

 

Créer le fichier, ajouter les droits et l’éditer

$ touch ndd.sh && chmod +x ndd.sh && vim ndd.sh
#!/bin/bash

# Lister tous les noms de domaine présent dans un répertoire (je récupère le 10eme champs qui est égal au nom) et rediriger le résultat dans un fichier
ls -l /home/bef/repertoire_certificats/ | awk '{print $10}' > /home/bef/ndd.txt

# Retour chariot pour une meilleur lisibilité
sed -i 's/$/\n/' /home/bef/ndd.txt

# Lecture du fichier et exécution des commandes 
cat /home/bef/ndd.txt | while  read ligne ; do
  echo "$ligne"
  echo | openssl s_client -servername $ligne -connect $ligne:443 2>/dev/null | openssl x509 -noout -dates
done

 

Exécuter le script en redirigeant vers un ficher de sortie

$ ./ndd.sh > date_ndd.txt

 

Le résultat se présente sous cette forme

domaine1.tld
notBefore=May 18 11:19:57 2020 GMT
notAfter=May 18 11:29:00 2022 GMT

domaine2.tld
notBefore=May  8 09:40:15 2020 GMT
notAfter=May  8 09:50:00 2022 GMT

domaine3.tld
notBefore=May 18 11:17:18 2020 GMT
notAfter=May 18 11:27:00 2022 GMT

domaine4.tld
notBefore=May 26 10:10:08 2020 GMT
notAfter=May 26 10:20:00 2022 GMT

domaine5.tld
notBefore=Feb 21 15:43:56 2019 GMT
notAfter=Feb 21 15:53:00 2021 GMT

domaine6.tld
notBefore=Feb 21 15:43:56 2019 GMT
notAfter=Feb 21 15:53:00 2021 GMT

domaine7.tld
notBefore=Jun 27 15:01:52 2017 GMT
notAfter=Jun 27 15:01:52 2020 GMT

domaine8.tld
notBefore=Apr 17 08:10:09 2020 GMT
notAfter=Apr 17 08:20:00 2021 GMT

domaine9.tld
notBefore=Feb 26 13:59:45 2019 GMT
notAfter=Feb 26 14:09:00 2021 GMT

domaine10.tld
notBefore=Feb 26 13:59:52 2019 GMT
notAfter=Feb 26 14:09:00 2021 GMT

...

 

 

No votes yet.
Please wait...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.