Lucifer4a2 — Suite d’analyse IPv4 & Base RIPE SQLite Présentation
Lucifer4a2 est une suite d’outils Python orientée analyse réseau IPv4, enrichissement DNS/SSL et consultation locale de données RIPE via SQLite.
Le projet est composé de trois scripts complémentaires :
Script Rôle Lucifer4a2.py Analyseur IPv4 multithreadé avec DNS inverse, DNSSEC, SSL/TLS et lookup RIPE local createSQLite2.py Importeur haute performance des dumps RIPE vers une base SQLite locale netx.py Générateur rapide d’adresses IPv4 pseudo-aléatoires
L’objectif du projet est de fournir une boîte à outils légère, autonome et rapide permettant :
l’analyse de listes d’adresses IPv4 ; l’enrichissement réseau hors-ligne ; la consultation locale des plages RIPE sans dépendre d’API distantes ; l’inspection DNS et TLS ; l’automatisation de workflows réseau et OSINT. Fonctionnalités Lucifer4a2.py Analyse IPv4 multithreadée Traitement parallèle configurable ; Queue thread-safe ; Progression temps réel via Rich ; Gestion propre des interruptions. DNS inverse (PTR) Résolution PTR ; Compatibilité TCP DNS ; Support transparent Tor/SOCKS5. Vérification DNS Validation DNSSEC ; Extraction des enregistrements : A AAAA MX TXT CNAME NS SOA Vérification SSL/TLS Récupération du certificat ; Détection de certificats expirés ; Inspection du protocole TLS ; Détection des protocoles obsolètes : SSLv2 SSLv3 TLSv1 TLSv1.1 Lookup RIPE local Recherche ultra-rapide en SQLite ; Fonctionnement hors-ligne ; Recherche par plage IP ; Sélection de la plage la plus précise. Support Tor Proxy SOCKS5 ; Compatible Tor local ; Résolutions DNS via TCP. Reporting avancé Interface terminal Rich ; Rapport texte exportable ; Journalisation détaillée. createSQLite2.py Import RIPE haute performance Support fichiers .gz ; Parsing intelligent des blocs inetnum ; Import transactionnel par batch ; Indexation optimisée ; Conversion IP → entier. Formats supportés Plages classiques : 192.168.0.0 - 192.168.255.255 CIDR : 192.168.0.0/24 IP unique. netx.py Génération rapide d’IPv4 Génération pseudo-aléatoire ; Préfixes personnalisables ; Génération massive.
Exemple :
python netx.py 45 12 1000
Produit :
45.12.x.x Architecture globale +-------------------+ | RIPE Dump (.gz) | +---------+---------+ | v +-------------------+ | createSQLite2.py | +---------+---------+ | v +-------------+ | ripe.db | +------+------+ | v +------------------+ | Lucifer4a2.py | +--------+---------+ | +----------------+----------------+ | | | v v v DNS PTR DNSSEC SSL/TLS | v Rapport final Installation Prérequis Python 3.10+ Linux / macOS / Windows Dépendances Python
Installation via pip :
pip install dnspython pysocks rich Dépendances détaillées Bibliothèque Utilité dnspython Résolution DNS / DNSSEC PySocks Proxy SOCKS5 / Tor rich Interface terminal avancée sqlite3 Base locale RIPE ssl Inspection TLS http.client Connexion HTTPS ipaddress Manipulation IPv4 Préparation de la base RIPE Téléchargement des données RIPE
Télécharger un dump RIPE inetnum.
Exemple :
wget https://ftp.ripe.net/ripe/dbase/split/ripe.db.inetnum.gz Création de la base SQLite python createSQLite2.py ripe.db.inetnum.gz --db ripe.db
Exemple de sortie :
Importés: 10000 entrées Importés: 20000 entrées ... Import terminé. Total: XXXXX entrées Utilisation de Lucifer4a2 Format du fichier IP
Créer un fichier _ip.lst :
1.1.1.1 8.8.8.8 9.9.9.9
Les lignes vides et commentaires sont ignorés.
Exemple :
1.1.1.1
8.8.8.8
Exemples d’utilisation
Scan simple
python Lucifer4a2.py --input ips.txt
Scan DNS
python Lucifer4a2.py --input ips.txt --dns
Scan SSL/TLS
python Lucifer4a2.py --input ips.txt --ssl
Scan complet
python Lucifer4a2.py
--input ips.txt
--dns
--ssl
--ripe
--ripe-db ripe.db
Utilisation avec Tor
python Lucifer4a2.py
--input ips.txt
--tor
--threads 10
Paramètres CLI
Lucifer4a2.py
Argument Description
--input Fichier contenant les IPs
--tor Active SOCKS5/Tor
--dns Active les vérifications DNS
--ssl Active les vérifications TLS
--ripe Active les lookups RIPE
--ripe-db Chemin vers la base SQLite
--threads Nombre de threads
--output Rapport texte exporté
createSQLite2.py
Argument Description
ripe_file Dump RIPE source
--db Base SQLite cible
netx.py
Argument Description
a Premier octet
b Second octet
count Nombre d’IP à générer
Exemple de workflow complet
- Génération d’IPs python netx.py 45 12 500 > ips.txt
- Construction de la base RIPE python createSQLite2.py ripe.db.inetnum.gz --db ripe.db
- Analyse enrichie
python Lucifer4a2.py
--input ips.txt
--dns
--ssl
--ripe
--threads 20 Structure de la base SQLite Table ripe_networks Champ Type id INTEGER inetnum TEXT netname TEXT descr TEXT country TEXT admin_c TEXT tech_c TEXT status TEXT mnt_by TEXT created TEXT last_modified TEXT source TEXT first_ip INTEGER last_ip INTEGER Optimisations techniques SQLite
Le script d’import applique plusieurs optimisations :
PRAGMA journal_mode = MEMORY; PRAGMA synchronous = OFF;
Objectifs :
accélérer les insertions ; réduire les I/O disque ; maximiser le débit d’import. Indexation CREATE INDEX idx_ripe_range ON ripe_networks (first_ip, last_ip)
Permet :
recherches rapides ; scans minimisés ; matching efficace des plages. Threading
Lucifer4a2.py utilise :
queue.Queue() ; workers daemonisés ; verrou mutex ; progression temps réel. Exemple de sortie Interface console ▶ 8.8.8.8 dns.google ↳ DNS inverse : dns.google ✔ DNS : DNSSEC validé ✔ SSL : SSL valide, configuration sécurisée Rapport texte === 8.8.8.8 === Hostname : dns.google DNS : VALIDE — DNSSEC validé SSL : VALIDE — SSL valide, configuration sécurisée Gestion des erreurs
Le projet gère :
timeouts ; connexions refusées ; erreurs DNS ; erreurs SSL ; IP invalides ; erreurs SQLite ; interruptions clavier.
Toutes les erreurs sont journalisées dans :
lucifer.log Logs Exemple 2026-01-01 12:00:00 [INFO] Traitement : 8.8.8.8 2026-01-01 12:00:01 [DEBUG] DNS inverse 8.8.8.8 Performance
Les performances dépendent principalement :
du nombre de threads ; de la latence DNS ; des vérifications SSL ; des accès disque SQLite.
En environnement standard :
Threads Débit estimé 5 Léger 10 Moyen 20+ Intensif Sécurité Recommandations utiliser un environnement isolé ; limiter le nombre de threads ; surveiller les requêtes réseau ; utiliser Tor si nécessaire. Cas d’usage Inventaire réseau enrichissement IP ; audit d’exposition ; cartographie réseau. Recherche OSINT attribution réseau ; corrélation DNS ; identification d’infrastructures. Analyse TLS détection de configurations faibles ; certificats expirés ; protocoles obsolètes. Recherche RIPE hors-ligne consultation rapide ; environnement air-gapped ; automatisation locale. Arborescence recommandée project/ │ ├── Lucifer4a2.py ├── createSQLite2.py ├── netx.py ├── ripe.db ├── _ip.lst ├── lucifer.log ├── lucifer_report.txt └── README.md Compatibilité OS Support Linux Oui Windows Oui macOS Oui Limitations connues IPv6 non supporté ; dépendance DNS externe ; validation DNSSEC dépendante du resolver ; SSL dépendant de l’accessibilité du port 443. Améliorations possibles support IPv6 ; export JSON/CSV ; dashboard web ; cache DNS ; support WHOIS natif ; support ASN ; multiprocessing ; intégration GeoIP. Bonnes pratiques construire régulièrement la base RIPE ; limiter les scans massifs ; surveiller les logs ; utiliser un timeout raisonnable. Dépannage Erreur : No module named dns
Installer :
pip install dnspython Erreur : SOCKS5 connection failed
Vérifier :
que Tor est lancé ; que le port 9050 est ouvert. Erreur SQLite
Supprimer puis reconstruire :
rm ripe.db python createSQLite2.py ripe.db.inetnum.gz Licence
À compléter selon votre choix :
MIT GPLv3 Apache 2.0 BSD Disclaimer
Ce projet est fourni à des fins :
éducatives ; d’administration système ; de recherche réseau ; d’analyse d’infrastructure.
L’utilisateur est seul responsable de l’usage effectué du logiciel.
Crédits
Bibliothèques utilisées :
Rich dnspython PySocks SQLite Auteur
Projet développé en Python.