
Интерактивный CLI веб-сканер
Интерактивный веб-сканер командной строки.
Evine — это простой, быстрый и интерактивный веб-сканер и парсер, написанный на Golang. Evine полезен для широкого круга задач, таких как извлечение метаданных и данных, интеллектуальный анализ данных, разведка и тестирование.
Если вам нравится проект, поставьте звёздочку. Это мотивирует меня развивать проект!
Предварительно собранные бинарные релизы также доступны (рекомендуется).
go get github.com/saeeddhqan/evine
"$GOPATH/bin/evine" -h
git clone https://github.com/saeeddhqan/evine.git
cd evine
go build .
mv evine /usr/local/bin
evine --help
Примечание: требуется golang 1.13.x.
evine -h
Будет показана справка по инструменту:
Ключи — это предопределённые ключевые слова, которые можно использовать для указания данных, таких как URL в области, URL вне области, электронные письма и т. д. Список всех ключей:
Возможно, вам нужен файл, который не определён в ключах. Что делать? Вы можете просто написать расширение файла в представлении «Запрос», например png, xml, txt, docx, xlsx, a, mp3 и т. д.
Если у вас есть базовые навыки JQuery, вы легко сможете использовать эту функцию. Если нет, это тоже не очень сложно. Для быстрого ознакомления с селекторами отличным источником является w3schools.
Пример (поиск source[src]):
$("source").attr("src") // Найти все URL source[src]
$("h1").text() // Найти значения h1
Шаблон:
$("SELECTOR").METHOD_NAME("arg")
Запросы вида ниже не поддерживаются:
$('SELECTOR').METHOD("arg")
$('SELECTOR').METHOD('arg')
$("SELECTOR" ).METHOD("arg" )
Описание методов:
Чтобы сообщить об ошибках или предложениях, создайте issue.
Evine вдохновлён проектом wuzz.
| Клавиши | Описание |
|---|
| Enter | Запустить сканер (из представления URL) |
| Enter | Показать ответ (из представлений «Ключи» и «Регулярное выражение») |
| Tab | Следующее представление |
| Ctrl+Space | Запустить сканер |
| Ctrl+S | Сохранить ответ |
| Ctrl+Z | Выйти |
| Ctrl+R | Восстановить значения по умолчанию (из представлений «Параметры» и «Заголовки») |
| Ctrl+Q | Закрыть представление сохранения ответа (из представления «Сохранить») |
| флаг | Описание | Пример |
|---|
| -url | URL для обхода | evine -url toscrape.com |
| -url-exclude string | Исключить URL, соответствующие этому регулярному выражению (по умолчанию ".*") | evine -url-exclude ?id= |
| -domain-exclude string | Исключить домены из области обхода. Разделять запятой. По умолчанию = корневой домен | evine -domain-exclude host1.tld,host2.tld |
| -code-exclude string | Исключить HTTP-статусы с этими кодами. Разделять с помощью '|' (по умолчанию ".*") | evine -code-exclude 200,201 |
| -delay int | Пауза между запросами (миллисекунды) | evine -delay 300 |
| -depth | Глубина поиска парсера (по умолчанию 1) | evine -depth 2 |
| -thread int | Количество параллельных горутин для обработки (по умолчанию 5) | evine -thread 10 |
| -header | HTTP-заголовок для каждого запроса (поля должны разделяться символом \n) | evine -header KEY: VALUE\nKEY1: VALUE1 |
| -proxy string | Прокси по схеме scheme://ip:port | evine -proxy http://1.1.1.1:8080 |
| -scheme string | Установить схему для запросов (по умолчанию "https") | evine -scheme http |
| -timeout int | Секунд ожидания до тайм-аута (по умолчанию 10) | evine -timeout 15 |
| -query string | Выражение JQuery (может быть расширением файла (pdf), ключевым запросом (url, script, css, ...) или селектором jquery ($("a[class='hdr']).attr('hdr')")) | evine -query url,pdf,txt |
| -regex string | Поиск регулярного выражения в содержимом страниц | evine -regex 'User.+' |
| -logger string | Записывать ошибки в файл | evine -logger log.txt |
| -max-regex int | Максимальное количество результатов поиска по регулярному выражению (по умолчанию 1000) | evine -max-regex -1 |
| -robots | Сканировать robots.txt для получения URL и использовать их как начальные точки | evine -robots |
| -sitemap | Сканировать sitemap.xml для получения URL и использовать их как начальные точки | evine -sitemap |
| -wayback | Сканировать WayBackURLs (web.archive.org) для получения URL и использовать их как начальные точки | evine -sitemap |