
Inventus — это паук, предназначенный для поиска поддоменов конкретного домена путём обхода его самого и всех обнаруженных поддоменов.
Inventus — это паук, предназначенный для поиска поддоменов определённого домена путём его сканирования и всех обнаруженных поддоменов. Это паук Scrapy, что означает, что его легко модифицировать и расширять под ваши нужды.
Для работы Inventus требуется предварительная установка Scrapy. Сначала склонируйте репозиторий и перейдите в него.
$ git clone https://github.com/nmalcolm/Inventus
$ cd Inventus
Теперь установите необходимые зависимости с помощью pip.
$ pip install -r requirements.txt
Если установка прошла успешно, Inventus готов к использованию.
Самый простой способ использования Inventus выглядит так:
$ cd Inventus
$ scrapy crawl inventus -a domain=facebook.com
Эта команда сообщает Scrapy, какого паука использовать (в данном случае «inventus»), и передаёт домен пауку. Все найденные поддомены будут выведены в STDOUT.
Другой пользовательский параметр — subdomain_limit. Он устанавливает максимальное количество поддоменов для поиска перед завершением. Значение по умолчанию — 10000, но это не жёсткое ограничение.
$ scrapy crawl inventus -a domain=facebook.com -a subdomain_limit=100
Данные можно экспортировать разными способами. Самый простой — перенаправить STDOUT в файл.
$ scrapy crawl inventus -a domain=facebook.com > facebook.txt
Scrapy имеет встроенную функцию, позволяющую экспортировать элементы в различные форматы, включая CSV, JSON и XML. В настоящее время экспортируются только поддомены, но в будущем это может измениться.
$ scrapy crawl inventus -a domain=facebook.com -t csv -o Facebook.csv
Можно настроить поведение Inventus. По умолчанию Inventus игнорирует robots.txt, имеет тайм-аут 30 секунд, кэширует данные сканирования на 24 часа, глубину сканирования 5 и использует расширение AutoThrottle Scrapy. Эти и другие параметры можно изменить, отредактировав файл inventus_spider/settings.py. Настройки Scrapy также хорошо документированы.
Не стесняйтесь открывать новый issue по любому из перечисленных пунктов. Inventus был создан всего за несколько часов и, вероятно, содержит ошибки. Вы также можете связаться со мной в Twitter.
Распространяется под лицензией MIT. См. LICENSE.