SpiderFoot
Outil de collecte OSINT automatisée avec plus de 200 modules. Agrège des renseignements sur les IP, domaines, emails, noms et organisations à partir de centaines de sources. Automated OSINT collection tool with 200+ modules. Aggregates intelligence on IPs, domains, emails, names, and organizations from hundreds of sources.
↗ https://www.spiderfoot.netOverview
SpiderFoot automates OSINT gathering by running 200+ modules against a target and correlating the results. It builds a relationship graph between discovered data points. Available as a CLI tool, web UI, and SpiderFoot HX (commercial cloud version).
Setup & Launch
# Install
pip3 install spiderfoot
# or
git clone https://github.com/smicallef/spiderfoot && cd spiderfoot
pip3 install -r requirements.txt
Launch web UI (default: http://127.0.0.1:5001)
python3 sf.py -l 127.0.0.1:5001
CLI scan (no web UI)
python3 sfcli.py -s target.com -t INTERNET_NAME -m all
Web UI Workflow
- Browse to
http://127.0.0.1:5001 - New Scan → Enter target → Select scan type
- Choose use case or individual modules
- Review results in the graph or table view
Scan Types (Use Cases)
| Use Case | Description |
|---|---|
| All | Run every module |
| Footprint | Full external footprint |
| Investigate | Investigate a target |
| Passive | No direct contact with target |
| OSINT | Open-source intelligence only |
CLI Usage
Basic scan against a domain
python3 sfcli.py -s target.com -t INTERNET_NAME -m sfp_dnsresolve,sfp_ssl,sfp_portscan_basic
Passive only (no direct contact)
python3 sfcli.py -s target.com -t INTERNET_NAME -u Passive
All modules
python3 sfcli.py -s target.com -t INTERNET_NAME -u All
Scan an IP
python3 sfcli.py -s 10.10.10.1 -t IP_ADDRESS -u All
Scan email address
python3 sfcli.py -s user@target.com -t EMAILADDR -u All
List available modules
python3 sfcli.py -l
Output as JSON
python3 sfcli.py -s target.com -t INTERNET_NAME -u Passive -o json
Target Types
INTERNET_NAME Domain name (target.com, sub.target.com)
IP_ADDRESS IPv4 address
EMAILADDR Email address
PHONE_NUMBER Phone number
HUMAN_NAME Person's name
USERNAME Social media username
BGP_AS_MEMBER Autonomous system number
NETBLOCK_OWNER IP range
Key Modules
sfp_dnsresolve DNS resolution
sfp_ssl SSL certificate analysis
sfp_shodan Shodan lookups (API key required)
sfp_virustotal VirusTotal lookups (API key)
sfp_hunter Hunter.io email discovery
sfp_haveibeen HaveIBeenPwned checks
sfp_pgp PGP keyserver lookups
sfp_whois WHOIS data
sfp_portscan_basic Basic port scanning
sfp_linkedinapi LinkedIn enumeration
sfp_github GitHub code search
sfp_pastebin Pastebin searches
sfp_darkweb Dark web monitoring
Tips
- The web UI’s graph view clearly shows relationships between discovered data
- Configure API keys under Settings in the web UI for richer results
Passivemode never contacts the target directly — safest for authorized assessments- Export results as CSV or JSON for further processing or reporting
Target type quick reference
Domain: INTERNET_NAME
IP: IP_ADDRESS
Email: EMAILADDR
Person: HUMAN_NAME
Username: USERNAME
Netblock: NETBLOCK_OWNER
ASN: BGP_AS_MEMBER
Phone: PHONE_NUMBER
Bitcoin: BITCOIN_ADDRESS
Vue d’ensemble
SpiderFoot automatise la collecte OSINT en exécutant plus de 200 modules contre une cible et en corrélant les résultats. Il construit un graphe de relations entre les données découvertes. Disponible en outil CLI, interface web, et SpiderFoot HX (version cloud commerciale).
Installation et lancement
# Installer
pip3 install spiderfoot
# ou
git clone https://github.com/smicallef/spiderfoot && cd spiderfoot
pip3 install -r requirements.txt
# Lancer l'interface web (par défaut : http://127.0.0.1:5001)
python3 sf.py -l 127.0.0.1:5001
# Scan en CLI (sans interface web)
python3 sfcli.py -s target.com -t INTERNET_NAME -m all
Utilisation de l’interface web
- Naviguer vers
http://127.0.0.1:5001 - New Scan → saisir la cible → sélectionner le type de scan
- Choisir un cas d’usage ou des modules individuels
- Consulter les résultats dans la vue graphe ou la vue tableau
Types de scan (cas d’usage)
| Cas d’usage | Description |
|---|---|
| All | Lancer tous les modules |
| Footprint | Empreinte externe complète |
| Investigate | Investiguer une cible |
| Passive | Aucun contact direct avec la cible |
| OSINT | Renseignement en sources ouvertes uniquement |
Utilisation en CLI
# Scan basique contre un domaine
python3 sfcli.py -s target.com -t INTERNET_NAME -m sfp_dnsresolve,sfp_ssl,sfp_portscan_basic
# Passif uniquement (aucun contact direct)
python3 sfcli.py -s target.com -t INTERNET_NAME -u Passive
# Tous les modules
python3 sfcli.py -s target.com -t INTERNET_NAME -u All
# Scanner une IP
python3 sfcli.py -s 10.10.10.1 -t IP_ADDRESS -u All
# Scanner une adresse email
python3 sfcli.py -s user@target.com -t EMAILADDR -u All
# Lister les modules disponibles
python3 sfcli.py -l
# Sortie en JSON
python3 sfcli.py -s target.com -t INTERNET_NAME -u Passive -o json
Types de cible
INTERNET_NAME Nom de domaine (target.com, sub.target.com)
IP_ADDRESS Adresse IPv4
EMAILADDR Adresse email
PHONE_NUMBER Numéro de téléphone
HUMAN_NAME Nom de personne
USERNAME Pseudo sur réseau social
BGP_AS_MEMBER Numéro de système autonome
NETBLOCK_OWNER Plage IP
Modules clés
sfp_dnsresolve Résolution DNS
sfp_ssl Analyse de certificat SSL
sfp_shodan Requêtes Shodan (clé API requise)
sfp_virustotal Requêtes VirusTotal (clé API)
sfp_hunter Découverte d'emails via Hunter.io
sfp_haveibeen Vérifications HaveIBeenPwned
sfp_pgp Requêtes sur serveurs de clés PGP
sfp_whois Données WHOIS
sfp_portscan_basic Scan de ports basique
sfp_linkedinapi Énumération LinkedIn
sfp_github Recherche de code GitHub
sfp_pastebin Recherches Pastebin
sfp_darkweb Surveillance du dark web
Conseils
- La vue graphe de l’interface web montre clairement les relations entre les données découvertes
- Configurer les clés API dans Settings de l’interface web pour des résultats plus riches
- Le mode
Passivene contacte jamais directement la cible : le plus sûr pour des évaluations autorisées - Exporter les résultats en CSV ou JSON pour un traitement ou un reporting ultérieur
Aperçu rapide des types de cible
Domaine : INTERNET_NAME
IP : IP_ADDRESS
Email : EMAILADDR
Personne : HUMAN_NAME
Pseudo : USERNAME
Netblock : NETBLOCK_OWNER
ASN : BGP_AS_MEMBER
Téléphone : PHONE_NUMBER
Bitcoin : BITCOIN_ADDRESS