
Inventus est un spider conçu pour trouver les sous-domaines d'un domaine spécifique en explorant ce dernier ainsi que tous les sous-domaines découverts.
Inventus est un spider conçu pour trouver les sous-domaines d'un domaine spécifique en le crawlant ainsi que les sous-domaines qu'il découvre. C'est un spider Scrapy, ce qui signifie qu'il est facilement modifiable et adaptable à vos besoins.
Inventus nécessite que Scrapy soit installé avant de pouvoir être exécuté. Tout d'abord, clonez le dépôt et placez-vous dedans.
$ git clone https://github.com/nmalcolm/Inventus
$ cd Inventus
Installez maintenant les dépendances requises avec pip.
$ pip install -r requirements.txt
En supposant que l'installation a réussi, Inventus devrait être prêt à l'emploi.
L'utilisation la plus basique d'Inventus est la suivante :
$ cd Inventus
$ scrapy crawl inventus -a domain=facebook.com
Cela indique à Scrapy quel spider utiliser (« inventus » dans ce cas) et transmet le domaine au spider. Tous les sous-domaines trouvés seront envoyés vers STDOUT.
L'autre paramètre personnalisé est subdomain_limit. Il définit une limite maximale de sous-domaines à découvrir avant de quitter. La valeur par défaut est 10000, mais ce n'est pas une limite stricte.
$ scrapy crawl inventus -a domain=facebook.com -a subdomain_limit=100
L'exportation des données peut se faire de plusieurs façons. Le moyen le plus simple est de rediriger STDOUT vers un fichier.
$ scrapy crawl inventus -a domain=facebook.com > facebook.txt
Scrapy dispose d'une fonctionnalité intégrée qui permet d'exporter des éléments dans divers formats, notamment CSV, JSON et XML. Actuellement, seuls les sous-domaines seront exportés, mais cela pourrait changer à l'avenir.
$ scrapy crawl inventus -a domain=facebook.com -t csv -o Facebook.csv
Des configurations peuvent être apportées au comportement d'Inventus. Par défaut, Inventus ignore robots.txt, a un délai d'attente de 30 secondes, met en cache les données de crawl pendant 24 heures, a une profondeur de crawl de 5 et utilise l'extension AutoThrottle de Scrapy. Ceux-ci et bien d'autres peuvent être modifiés en éditant le fichier inventus_spider/settings.py. Les paramètres de Scrapy sont également bien documentés.
N'hésitez pas à ouvrir un nouveau ticket pour tout ce qui précède. Inventus a été construit en seulement quelques heures et contiendra probablement des bogues. Vous pouvez également me contacter sur Twitter.
Publié sous la licence MIT. Voir LICENSE.