Analyse complète d'exposition IP orientée OPSEC / OSINT — entièrement en Bash, sans dépendance lourde.
Usage forensic / formation OPSEC exclusivement.
| Section | Description |
|---|---|
| WAN IP | Détection multi-sources DNS + HTTP avec vote majoritaire |
| Géolocalisation | Croisement ipinfo.io / ip-api.com avec alerte de divergence |
| Reverse DNS | Lookup PTR via dig + nslookup |
| VPN / Tor / Proxy | Détection via ip-api.com + matching ASN (Mullvad, NordVPN, Tor, OVH…) |
| Fuite DNS | Résolveurs système + test réel via l'API bash.ws |
| Exposition IPv6 | Détection de leak IPv6 sur VPN IPv4-only |
| Réputation | Score AbuseIPDB sur 90 jours (clé API gratuite) |
| ipleak.net | Vue synthétique via l'API JSON directe |
| Tests navigateur | WebRTC leak, Canvas, WebGL, Audio fingerprint, Timezone — via Playwright headless |
| Score OPSEC | Score synthétique /100 avec pénalités et bonuses détaillés |
| Mode comparaison | Analyse avant / après activation d'un VPN avec diff JSON |
Obligatoires (installation automatique proposée au démarrage) :
curl dig nslookup jq
Optionnelles (tests navigateur) :
python3 pip3 playwright chromium
git clone https://github.com/Seeraiwer/ip-exposure-check.git
cd ip-exposure-check
chmod +x ip_exposure_check.sh./ip_exposure_check.sh [OPTIONS]
| Option | Description |
|---|---|
-v, --verbose |
Affiche les JSON bruts des API |
-o, --output FILE |
Export rapport Obsidian Markdown |
-j, --json FILE |
Export rapport JSON structuré |
-k, --key KEY |
Clé API AbuseIPDB (ou export ABUSEIPDB_KEY=...) |
-t, --timeout SEC |
Timeout par requête (défaut : 8s) |
-n, --dry-run |
Affiche les appels API sans les exécuter |
--compare |
Mode comparaison avant / après VPN |
-h, --help |
Aide |
# Analyse simple
./ip_exposure_check.sh
# Avec rapport Markdown et clé AbuseIPDB
./ip_exposure_check.sh -o rapport.md -k VOTRE_CLE
# Export JSON + verbose
./ip_exposure_check.sh -j result.json -v
# Mode comparaison avant/après VPN
./ip_exposure_check.sh --compare -j compare.json
# Dry-run (aucun appel réseau)
./ip_exposure_check.sh --dry-runLe score (0–100) agrège :
- Pénalités : pays/ville/ASN identifiables, rDNS présent, IPv6 exposé, résolveur DNS public hors tunnel, fuite DNS confirmée (bash.ws)
- Bonus : VPN / proxy / datacenter détecté (+15)
Clé gratuite disponible sur abuseipdb.com/register.
export ABUSEIPDB_KEY="votre_clé"
./ip_exposure_check.shMIT