
Сканирование и извлечение (обычных или onion) веб-страниц через сеть TOR
Он сочетает простоту использования с надёжными функциями приватности Tor, обеспечивая безопасный и неотслеживаемый сбор данных. Идеально подходит как для начинающих, так и для опытных программистов; этот инструмент необходим для ответственного сбора данных в цифровую эпоху.
[![Release][release-version-shield]][releases-link] [![Last Commit][last-commit-shield]][commit-link] ![Python][python-version-shield] [![Quality Gate Status][quality-gate-shield]][quality-gate-link] [![license][license-shield]][license-link]
Если вы фанат терминала, вы знаете, что всё должно быть просто и понятно. Передача вывода в другие инструменты необходима, и точность имеет ключевое значение.
С помощью одного аргумента вы можете прочитать веб-страницу .onion или обычную страницу через сеть TOR, а используя конвейеры, вы можете передать вывод в любой другой предпочитаемый вами инструмент.
$ torcrawl -u http://www.github.com/ | grep 'google-analytics'
<meta-name="google-analytics" content="UA-XXXXXX- ">
Если вы хотите обойти ссылки веб-страницы, используйте -c, и BAM — у вас в файле все внутренние ссылки. Вы даже можете использовать -d, чтобы обойти их, и так далее. Также можно использовать аргумент -p, чтобы подождать несколько секунд перед следующим обходом.
$ torcrawl -v -u http://www.github.com/ -c -d 2 -p 2
# TOR is ready!
# URL: http://www.github.com/
# Your IP: XXX.XXX.XXX.XXX
# Crawler started from http://www.github.com/ with 2 depth crawl and 2 second(s) delay:
# Step 1 completed with: 11 results
# Step 2 completed with: 112 results
# File created on /path/to/project/links.txt
[!TIP]
Сканирование сайтов не является незаконным, но нарушение авторских прав — является. Всегда лучше перепроверить условия использования сайта перед началом сканирования. Некоторые сайты настраивают так называемыйrobots.txt, чтобы сообщить сканерам, что не следует посещать определённые страницы.
Этот сканер позволит вам обойти это, но мы всегда рекомендуем уважать robots.txt.
pip install torcrawlgit clone https://github.com/MikeMeliz/TorCrawl.py.gitpip install -r requirements.txtapt-get install torservice tor starttor.exe][tor-download] и выполните:tor.exe --service installtor.exe --service startbrew install torbrew services start tor| arg | Long | Описание |
|---|---|---|
| Общие: | ||
| -h | --help | Сообщение справки |
| -v | --verbose | Показывать больше информации о ходе выполнения |
| -u | --url *.onion | URL веб-страницы для обхода или извлечения |
| -w | --without | Без использования сети TOR |
| -rua | --random-ua | Включить случайную ротацию user-agent для запросов |
| -rpr | --random-proxy | Включить случайную ротацию прокси из res/proxies.txt (требует флага -w, один прокси на строку, формат: host:port) |
| -px | --proxy | IP-адрес для SOCKS5-прокси (по умолчанию: 127.0.0.1 для использования TOR) |
| -pr | --proxyport | Порт для SOCKS5-прокси (по умолчанию: 9050) |
| -f | --folder | Каталог, в котором будут размещены сгенерированные файлы |
| -V | --version | Показать версию и выйти |
| Извлечение: | ||
| -e | --extract | Извлечь код страницы в терминал или файл (по умолчанию: терминал) |
| -i | --input filename | Входной файл с URL (разделёнными по строкам) |
| -o | --output [filename] | Вывести страницу(ы) в файл(ы) (для одной страницы) |
| -y | --yara | Выполнить поиск по ключевым словам yara: h = поиск по всему html-объекту, t = поиск только по тексту |
| Обход: | ||
| -c | --crawl | Обходить веб-сайт (по умолчанию вывод в website/links.txt) |
| -d | --depth | Установить глубину обхода краулера (по умолчанию: 1) |
| -p | --pause | Пауза в секундах между запросами (по умолчанию: 0) |
| -j | --json | Экспортировать результаты обхода в JSON в дополнение к txt-выводу |
| -x | --xml | Экспортировать результаты обхода в XML в дополнение к txt-выводу |
| -DB | --database | Экспортировать результаты обхода и граф ссылок в базу данных SQLite |
| -vis | --visualization | Сгенерировать HTML-визуализацию из базы данных SQLite (требует -DB) |
| -l | --log | Файл журнала с посещёнными URL и их кодами ответа |
Чтобы просто извлечь одну веб-страницу в терминал:
$ python torcrawl.py -u http://www.github.com
<!DOCTYPE html>
...
</html>
Извлеките в файл (github.htm) без использования TOR:
$ python torcrawl.py -w -u http://www.github.com -o github.htm
## File created on /script/path/github.htm
Извлеките в терминал и найдите только строку с google-analytics:
$ python torcrawl.py -u http://www.github.com | grep 'google-analytics'
<meta name="google-analytics" content="UA-*******-*">
Извлеките в файл и найдите только строку с google-analytics с помощью yara:
$ python torcrawl.py -v -w -u https://github.com -e -y 0
...
Примечание: обновите res/keyword.yar для поиска других ключевых слов.
Используйте -y 0 для поиска по необработанному html и -y 1 только для поиска по тексту.
Извлечь набор веб-страниц (импортированных из файла) в терминал:
$ python torcrawl.py -i links.txt
...