check-certificat.com / chk_url_ips V1R1 / DocumentationDocumentation
syntaxe généralegeneral syntax
python chk_url_ips_V1R1.py --hosts HOST [HOST ...] [--ports PORT [PORT ...]] [OPTIONS]
optionsoptions
--hosts HOST [HOST ...]
Hostnames, IPs ou plages IP à analyser (obligatoire)Hostnames, IPs or IP ranges to analyse (mandatory)
--ports PORT [PORT ...]
Ports à analyser (défaut : 443)Ports to analyse (default: 443)
--customer CUSTOMER
Nom client — utilisé dans l'arborescence de sortieCustomer name — used in the output directory tree
--level {0,1,2}
Profondeur de résolution DNS (défaut : 1)DNS resolution depth (default: 1)
--no-html
Désactiver le rapport HTMLDisable HTML report
--json
Activer la sortie JSON (activé par défaut)Enable JSON output (enabled by default)
--save_cert
Sauvegarder les certificats PEM sur disqueSave PEM certificates to disk
--no-console
Désactiver la sortie consoleDisable console output
--domain_expired
Vérifier la date d'expiration du domaine (RDAP)Check domain expiry date (RDAP)
--date_system DATE
Simuler une date système (ISO : 2026-07-04T11:53:29)Override system date (ISO: 2026-07-04T11:53:29)
--internal
Environnement interne — adapte le comportement réseauInternal environment flag — adapts network behaviour
--chkcert_V1R1M1_examples
Afficher des exemples d'utilisationDisplay usage chkcert_V1R1M1_examples
formats d'hôtes supportéssupported host formats
FormatFormatExempleExampleDescriptionDescription
hostnamepaypal.frRésolution DNS automatique, multi-IPAutomatic DNS resolution, multi-IP
IP151.101.3.1Connexion directe, SNI depuis reverse DNSDirect connection, SNI from reverse DNS
Plage IP80.94.184.67-80.94.184.98Analyse séquentielle de toute la plageSequential analysis of the entire range
CIDR192.168.1.0/24Expansion automatique du bloc réseauAutomatic network block expansion
Multibcv.ch paypal.fr 1.2.3.4Plusieurs hôtes en un seul appelMultiple hosts in a single call
résolution DNS — --levelDNS resolution — --level
LevelComportementBehaviourSortie HTMLHTML output
0 Aucune résolution DNS — certificat TLS brut uniquementNo DNS resolution — raw TLS certificate only Pas de table DNSNo DNS table
1 Résolution A/AAAA de chaque DNSName du certificat (défaut)A/AAAA resolution of each certificate DNSName (default) Table DNS → IPv4DNS → IPv4 table
2 Level 1 + résolution PTR inverse sur chaque IP → résolution A des hostnames PTRLevel 1 + PTR reverse lookup on each IP → A resolution of PTR hostnames Table DNS→IP + table IP→noms (cert/PTR)DNS→IP table + IP→names table (cert/PTR)
Le level 2 interroge le DNS inverse pour chaque IP résolue. Sur de grandes plages IP, cela peut être long. Préférer --level 1 pour les scans de plages. Level 2 queries reverse DNS for each resolved IP. On large IP ranges this can be slow. Prefer --level 1 for range scans.
exemples d'usageusage chkcert_V1R1M1_examples

Analyse d'un hostnameHostname analysis

python chk_url_ips_V1R1.py --hosts paypal.fr --ports 443

Analyse multi-hosts, multi-portsMulti-host, multi-port analysis

python chk_url_ips_V1R1.py --hosts bcv.ch paypal.fr cnrs.fr --ports 443 8443

Analyse avec résolution DNS complète (level 2)Analysis with full DNS resolution (level 2)

python chk_url_ips_V1R1.py --hosts paypal.fr --ports 443 --level 2

Analyse d'une IP directeDirect IP analysis

python chk_url_ips_V1R1.py --hosts 151.101.3.1 --ports 443 --customer FASTLY

Analyse d'une plage IPIP range analysis

python chk_url_ips_V1R1.py --hosts 80.94.184.67-80.94.184.98 --customer DEMO --level 1

Sans rapport HTML (JSON seulement)Without HTML report (JSON only)

python chk_url_ips_V1R1.py --hosts bcv.ch --no-html --json

Simulation de dateDate simulation

python chk_url_ips_V1R1.py --hosts paypal.fr --date_system 2027-01-01T00:00:00

Vérification expiration domaineDomain expiry check

python chk_url_ips_V1R1.py --hosts paypal.fr bcv.ch --domain_expired
sorties généréesgenerated outputs
Arborescence de sortieOutput directory tree
chk_url_ips_V1R1/ ← répertoire racine = nom du script (dans le CWD)
html/<CUSTOMER>/<YYYYMMDD>/ — rapports HTML par host/IP
json/<CUSTOMER>/<YYYYMMDD>/ — JSON certificat + RDAP par host/IP
csv/<CUSTOMER>/<YYYYMMDD>/ — export CSV
certificate/ — PEM si --save_cert
tmp/ — fichiers temporaires openssl
log/ — logs d'exécution
FichierFileContenuContent
*_cert_*.jsonMétadonnées certificat + analysis_summary + dns_resolution_tableCertificate metadata + analysis_summary + dns_resolution_table
*_rdap_*.jsonInformations réseau ARIN RDAP (organisation, CIDR, ASN)ARIN RDAP network information (organisation, CIDR, ASN)
*.htmlRapport autonome dark theme : certificats, résumé, Network Info, table DNSStandalone dark-theme report: certificates, summary, Network Info, DNS table
*.csvExport tabulaire pour intégration inventaireTabular export for inventory integration
network info RDAPnetwork info RDAP
Pour chaque IP analysée, chk_url_ips interroge le registre ARIN RDAP et enrichit le rapport HTML avec une section Network Info affichant : organisation, handle réseau, type d'allocation, pays, plage CIDR, adresses start/end et version IP. For each analysed IP, chk_url_ips queries the ARIN RDAP registry and enriches the HTML report with a Network Info section showing: organisation, network handle, allocation type, country, CIDR range, start/end addresses and IP version.
Le JSON RDAP brut (*_rdap_*.json) est sauvegardé séparément pour intégration dans d'autres outils. The raw RDAP JSON (*_rdap_*.json) is saved separately for integration into other tools.
prérequisprerequisites
ComposantComponentVersionUsage
Python3.8+Exécution du scriptScript execution
cryptography40+Parsing certificats X.509X.509 certificate parsing
openssl1.1+Connexion TLS et récupération chaîneTLS connection and chain retrieval
requests2.28+ARIN RDAP
ipwhois1.2+Résolution ASN/réseauASN/network resolution
tldextract3+Extraction domaine racineRoot domain extraction
paramiko3+Mode SSH distant (optionnel)Remote SSH mode (optional)
# Installation des dépendances
pip install cryptography requests ipwhois tldextract paramiko --break-system-packages