
Esegui la scansione ed estrai pagine web (regolari o onion) attraverso la rete TOR
Combina la facilità d'uso con le solide funzionalità per la privacy di Tor, consentendo una raccolta dati sicura e non tracciabile. Ideale sia per programmatori alle prime armi che esperti, questo strumento è essenziale per una raccolta dati responsabile nell'era digitale.
[![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]
Se sei un maniaco del terminale sai che le cose devono essere semplici e chiare. Passare l'output ad altri strumenti è necessario e la precisione è la chiave.
Con un singolo argomento, puoi leggere una pagina web .onion o una normale, attraverso la rete TOR e usando le pipe puoi passare l'output a qualsiasi altro strumento tu preferisca.
$ torcrawl -u http://www.github.com/ | grep 'google-analytics'
<meta-name="google-analytics" content="UA-XXXXXX- ">
Se vuoi eseguire la scansione dei link di una pagina web, usa -c e BAM, hai ottenuto in un file tutti i link interni. Puoi anche usare -d per eseguirne la scansione e così via. Puoi anche usare l'argomento -p per attendere alcuni secondi prima della scansione successiva.
$ 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]
Il crawling non è illegale, ma violare il copyright sì. È sempre meglio ricontrollare i T&C di un sito web prima di iniziare a fare crawling. Alcuni siti web impostano quello che viene chiamatorobots.txtper dire ai crawler di non visitare quelle pagine.
Questo crawler ti permetterà di aggirarlo, ma raccomandiamo sempre di rispettare 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], e:tor.exe --service installtor.exe --service startbrew install torbrew services start tor| arg | Long | Descrizione |
|---|---|---|
| Generale: | ||
| -h | --help | Messaggio di aiuto |
| -v | --verbose | Mostra maggiori informazioni sull'avanzamento |
| -u | --url *.onion | URL della pagina web da scansionare o estrarre |
| -w | --without | Senza utilizzare la rete TOR |
| -rua | --random-ua | Abilita la rotazione casuale dello user-agent per le richieste |
| -rpr | --random-proxy | Abilita la rotazione casuale dei proxy da res/proxies.txt (richiede il flag -w, un proxy per riga, formato: host:port) |
| -px | --proxy | Indirizzo IP per il proxy SOCKS5 (Predefinito: 127.0.0.1 per l'uso di TOR) |
| -pr | --proxyport | Porta per il proxy SOCKS5 (Predefinito: 9050) |
| -f | --folder | La directory che conterrà i file generati |
| -V | --version | Mostra la versione ed esce |
| Estrazione: | ||
| -e | --extract | Estrae il codice della pagina nel terminale o su file (Predefinito: Terminale) |
| -i | --input filename | File di input con URL (separati da riga) |
| -o | --output [filename] | Output della/e pagina/e su file (per una pagina) |
| -y | --yara | Esegue la ricerca per parola chiave yara: h = cerca nell'intero oggetto html, t = cerca solo nel testo |
| Scansione: | ||
| -c | --crawl | Scansiona il sito web (Output predefinito su website/links.txt) |
| -d | --depth | Imposta la profondità di navigazione del crawler (Predefinito: 1) |
| -p | --pause | Secondi di pausa tra le richieste (Predefinito: 0) |
| -j | --json | Esporta i risultati della scansione in JSON oltre agli output txt |
| -x | --xml | Esporta i risultati della scansione in XML oltre agli output txt |
| -DB | --database | Esporta i risultati della scansione e il grafo dei link in un database SQLite |
| -vis | --visualization | Genera una visualizzazione HTML dal database SQLite (richiede -DB) |
| -l | --log | File di log con gli URL visitati e il loro codice di risposta |
Per estrarre semplicemente una singola pagina web nel terminale:
$ python torcrawl.py -u http://www.github.com
<!DOCTYPE html>
...
</html>
Estrai in un file (github.htm) senza l'uso di TOR:
$ python torcrawl.py -w -u http://www.github.com -o github.htm
## File created on /script/path/github.htm
Estrai nel terminale e trova solo la riga con google-analytics:
$ python torcrawl.py -u http://www.github.com | grep 'google-analytics'
<meta name="google-analytics" content="UA-*******-*">
Estrai su file e trova solo la riga con google-analytics usando yara:
$ python torcrawl.py -v -w -u https://github.com -e -y 0
...
Nota: aggiorna res/keyword.yar per cercare altre parole chiave.
Usa -y 0 per la ricerca su html grezzo e -y 1 solo per la ricerca su testo.
Estrai un insieme di pagine web (importate da file) al terminale:
$ python torcrawl.py -i links.txt
...
Esegui la scansione dei link della pagina web senza l'uso di TOR, mostrando anche un output dettagliato (davvero utile):