
Explorer et extraire des pages web (régulières ou onion) via le réseau TOR
Il combine la simplicité d'utilisation avec les solides fonctionnalités de confidentialité de Tor, permettant une collecte de données sécurisée et intraçable. Idéal pour les programmeurs débutants comme expérimentés, cet outil est essentiel pour une collecte de données responsable à l'ère du numérique.
[![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]
Si vous êtes un maniaque du terminal, vous savez que les choses doivent être simples et claires. Passer la sortie à d'autres outils est nécessaire et la précision est essentielle.
Avec un seul argument, vous pouvez lire une page web .onion ou une page classique, via le réseau TOR, et en utilisant des pipes, vous pouvez transmettre la sortie à n'importe quel autre outil que vous préférez.
$ torcrawl -u http://www.github.com/ | grep 'google-analytics'
<meta-name="google-analytics" content="UA-XXXXXX- ">
Si vous souhaitez explorer les liens d'une page web, utilisez -c et BAM, vous obtenez dans un fichier tous les liens internes. Vous pouvez même utiliser -d pour les explorer et ainsi de suite. Vous pouvez également utiliser l'argument -p pour attendre quelques secondes avant l'exploration suivante.
$ 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]
Le crawling n'est pas illégal, mais violer le droit d'auteur l'est. Il est toujours préférable de vérifier les conditions générales d'un site web avant de commencer à le crawler. Certains sites web mettent en place ce qu'on appellerobots.txtpour indiquer aux crawlers de ne pas visiter ces pages.
Ce crawler vous permettra de contourner cela, mais nous recommandons toujours de respecter 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], puis :tor.exe --service installtor.exe --service startbrew install torbrew services start tor| arg | Long | Description |
|---|---|---|
| General: | ||
| -h | --help | Message d'aide |
| -v | --verbose | Afficher plus d'informations sur la progression |
| -u | --url *.onion | URL de la page web à explorer ou extraire |
| -w | --without | Sans utiliser le réseau TOR |
| -rua | --random-ua | Activer la rotation aléatoire du user-agent pour les requêtes |
| -rpr | --random-proxy | Activer la rotation aléatoire de proxy depuis res/proxies.txt (nécessite le flag -w, un proxy par ligne, format : host:port) |
| -px | --proxy | Adresse IP du proxy SOCKS5 (Par défaut : 127.0.0.1 pour utiliser TOR) |
| -pr | --proxyport | Port du proxy SOCKS5 (Par défaut : 9050) |
| -f | --folder | Le répertoire qui contiendra les fichiers générés |
| -V | --version | Afficher la version et quitter |
| Extract: | ||
| -e | --extract | Extraire le code de la page vers le terminal ou un fichier (Par défaut : Terminal) |
| -i | --input filename | Fichier d'entrée contenant la ou les URL (séparées par ligne) |
| -o | --output [filename] | Écrire la ou les pages dans un ou des fichiers (pour une page) |
| -y | --yara | Effectuer une recherche par mot-clé yara : h = rechercher dans tout l'objet html, t = rechercher uniquement dans le texte |
| Crawl: | ||
| -c | --crawl | Explorer le site web (Sortie par défaut dans website/links.txt) |
| -d | --depth | Définir la profondeur de parcours du crawler (Par défaut : 1) |
| -p | --pause | Secondes de pause entre les requêtes (Par défaut : 0) |
| -j | --json | Exporter les résultats du crawl en JSON en plus des sorties txt |
| -x | --xml | Exporter les résultats du crawl en XML en plus des sorties txt |
| -DB | --database | Exporter les résultats du crawl et le graphe de liens vers une base de données SQLite |
| -vis | --visualization | Générer une visualisation HTML à partir de la base de données SQLite (nécessite -DB) |
| -l | --log | Fichier journal avec les URL visitées et leur code de réponse |
Pour simplement extraire une seule page web vers le terminal :
$ python torcrawl.py -u http://www.github.com
<!DOCTYPE html>
...
</html>
Extrayez dans un fichier (github.htm) sans utiliser TOR :
$ python torcrawl.py -w -u http://www.github.com -o github.htm
## File created on /script/path/github.htm
Extrayez vers le terminal et recherchez uniquement la ligne contenant google-analytics :
$ python torcrawl.py -u http://www.github.com | grep 'google-analytics'
<meta name="google-analytics" content="UA-*******-*">
Extrayez vers un fichier et recherchez uniquement la ligne contenant google-analytics avec yara :
$ python torcrawl.py -v -w -u https://github.com -e -y 0
...
Remarque : mettez à jour res/keyword.yar pour rechercher d'autres mots-clés.
Utilisez -y 0 pour la recherche en HTML brut et -y 1 pour la recherche de texte uniquement.