← retour aux outils back to tools

# IVRE

Framework de reconnaissance réseau qui indexe et croise les résultats de scans nmap/masscan avec des données DNS passif et de trafic. Network reconnaissance framework that indexes and cross-references nmap/masscan scan results with passive DNS and traffic data.

↗ https://ivre.rocks

## Overview

IVRE (Instrument de Veille sur les Réseaux Extérieurs) is a framework for large-scale network reconnaissance. It ingests scan results from nmap, masscan, and zmap plus passive data (DNS, flow, traffic captures) into a database and exposes a web UI and CLI for querying, correlating, and visualizing findings across a whole scan corpus rather than one host at a time. It’s aimed at operators who need to manage recon at scale — tracking an entire IP range or ASN over time — rather than a single-target engagement.

## Common Usage

Initialize the IVRE database

    ivre ipinfo --init

Import nmap XML scan results

    ivre scan2db -c MyScan -s MySource scan-results.xml

Import masscan results

    ivre scan2db --masscan -c MyScan masscan-output.json

Query hosts with a specific open port/service

    ivre scancli --port 22 --service ssh

Query by CPE (e.g. find outdated Apache versions)

    ivre scancli --cpe a:apache:http_server:2.2

Launch the web interface

    ivre httpd

## Passive Recon

Feed passive DNS/flow data (e.g. from a Zeek/Bro sensor)

    ivre p2db --bro /path/to/zeek/logs/

Query passive records for a domain

    ivre ipinfo --domain target.com

## Notes

- Backed by MongoDB (or Elasticsearch/PostgreSQL depending on version); expect real infra setup for a serious deployment, not a single-binary tool.
- Shines on large recurring scans (bug bounty programs, ASN-wide recon) where correlating results over time matters more than a one-off nmap run.
- The web UI supports building complex filters visually and exporting to nmap-compatible target lists for follow-up scanning.

Help / Man page

    ivre <subcommand> [options]

    Subcommands:
      scan2db        Import nmap/masscan/nmap-XML results into the database
      ipinfo         Query/manage host information
      scancli        CLI query interface for scan results
      p2db           Import passive data (DNS, flows, etc.)
      httpd          Launch the web interface
      view           Generate/query the "view" (correlated) collection
      runscans       Orchestrate distributed nmap scans
      ipdata         Manage geolocation/AS data sources

    Common scancli filters:
      --port PORT           Hosts with a given open port
      --service NAME         Hosts running a given service
      --os OS                 Hosts matching an OS fingerprint
      --cpe CPE                 Hosts matching a CPE string
      --category CAT              Filter by scan category/tag

## Vue d’ensemble

IVRE (Instrument de Veille sur les Réseaux Extérieurs) est un framework de reconnaissance réseau à grande échelle. Il ingère les résultats de scans nmap, masscan et zmap ainsi que des données passives (DNS, flux, captures de trafic) dans une base de données, et propose une interface web et un CLI pour interroger, corréler et visualiser les résultats sur tout un corpus de scans plutôt qu’hôte par hôte. Il s’adresse aux opérateurs qui doivent gérer de la reconnaissance à grande échelle, en suivant une plage IP ou un ASN entier dans la durée, plutôt qu’un engagement sur une cible unique.

## Utilisation courante

    # Initialiser la base de données IVRE
    ivre ipinfo --init

    # Importer des résultats de scan nmap XML
    ivre scan2db -c MyScan -s MySource scan-results.xml

    # Importer des résultats masscan
    ivre scan2db --masscan -c MyScan masscan-output.json

    # Interroger les hôtes avec un port/service ouvert spécifique
    ivre scancli --port 22 --service ssh

    # Interroger par CPE (ex : trouver des versions Apache obsolètes)
    ivre scancli --cpe a:apache:http_server:2.2

    # Lancer l'interface web
    ivre httpd

## Reconnaissance passive

    # Injecter des données DNS/flux passives (ex : depuis une sonde Zeek/Bro)
    ivre p2db --bro /path/to/zeek/logs/

    # Interroger les enregistrements passifs pour un domaine
    ivre ipinfo --domain target.com

## Remarques

- Reposant sur MongoDB (ou Elasticsearch/PostgreSQL selon la version) ; prévoir une véritable infrastructure pour un déploiement sérieux, pas un outil en un seul binaire.
- Excelle sur les scans récurrents à grande échelle (programmes de bug bounty, reconnaissance à l’échelle d’un ASN) où corréler les résultats dans le temps compte plus qu’un simple scan nmap ponctuel.
- L’interface web permet de construire des filtres complexes visuellement et d’exporter vers des listes de cibles compatibles nmap pour des scans de suivi.

Aide / Page de manuel

    ivre <subcommand> [options]

    Subcommands:
      scan2db        Import nmap/masscan/nmap-XML results into the database
      ipinfo         Query/manage host information
      scancli        CLI query interface for scan results
      p2db           Import passive data (DNS, flows, etc.)
      httpd          Launch the web interface
      view           Generate/query the "view" (correlated) collection
      runscans       Orchestrate distributed nmap scans
      ipdata         Manage geolocation/AS data sources

    Common scancli filters:
      --port PORT           Hosts with a given open port
      --service NAME         Hosts running a given service
      --os OS                 Hosts matching an OS fingerprint
      --cpe CPE                 Hosts matching a CPE string
      --category CAT              Filter by scan category/tag