
Scanner web di nuova generazione
Sviluppato da Andrew Horton urbanadventurer e Brendan Coles bcoles
Ultima versione: v0.6.4. 3 aprile 2026
Licenza: GPLv2
Questo prodotto è soggetto ai termini descritti nel contratto di licenza. Per maggiori informazioni su WhatWeb visita https://github.com/urbanadventurer/
Wiki: https://github.com/urbanadventurer/WhatWeb/wiki/
Se hai domande, commenti o dubbi riguardo a WhatWeb, consulta la documentazione prima di contattare uno degli sviluppatori. Il tuo feedback è sempre benvenuto.
WhatWeb identifica i siti web. Il suo obiettivo è rispondere alla domanda: "Cos'è quel sito web?". WhatWeb riconosce tecnologie web tra cui sistemi di gestione dei contenuti (CMS), piattaforme di blogging, pacchetti statistiche/analytics, librerie JavaScript, server web e dispositivi embedded. WhatWeb ha oltre 1800 plugin, ciascuno per riconoscere qualcosa di diverso. WhatWeb identifica anche numeri di versione, indirizzi email, ID account, moduli di framework web, errori SQL e altro.
WhatWeb può essere furtivo e veloce, oppure approfondito ma lento. WhatWeb supporta un livello di aggressione per controllare il compromesso tra velocità e affidabilità. Quando visiti un sito web nel tuo browser, la transazione include molti indizi su quali tecnologie web alimentano quel sito. A volte una singola visita a una pagina web contiene informazioni sufficienti per identificare un sito, ma quando non è così, WhatWeb può interrogare ulteriormente il sito. Il livello di aggressione predefinito, chiamato 'stealthy', è il più veloce e richiede una sola richiesta HTTP al sito. Questo è adatto per scansionare siti web pubblici. Modalità più aggressive sono state sviluppate per l'uso nei test di penetrazione.
La maggior parte dei plugin di WhatWeb sono approfonditi e riconoscono una serie di indizi, da quelli sottili a quelli evidenti. Ad esempio, la maggior parte dei siti WordPress può essere identificata dal tag meta HTML, es. '', ma una minoranza di siti WordPress rimuove questo tag identificativo, ma ciò non ferma WhatWeb. Il plugin WordPress di WhatWeb ha oltre 15 test, che includono il controllo della favicon, dei file di installazione predefiniti, delle pagine di login e la ricerca di "/wp-content/" all'interno dei link relativi.
Uso di WhatWeb per scansionare reddit.com.``` $ ./whatweb reddit.com http://reddit.com [301 Moved Permanently] Country[UNITED STATES][US], HTTPServer[snooserv], IP[151.101.65.140], RedirectLocation[https://www.reddit.com/], UncommonHeaders[retry-after,x-served-by,x-cache-hits,x-timer], Via-Proxy[1.1 varnish] https://www.reddit.com/ [200 OK] Cookies[edgebucket,eu_cookie_v2,loid,rabt,rseor3,session_tracker,token], Country[UNITED STATES][US], Email[[email protected],[email protected]], Frame, HTML5, HTTPServer[snooserv], HttpOnly[token], IP[151.101.37.140], Open-Graph-Protocol[website], Script[text/javascript], Strict-Transport-Security[max-age=15552000; includeSubDomains; preload], Title[reddit: the front page of the internet], UncommonHeaders[fastly-restarts,x-served-by,x-cache-hits,x-timer], Via-Proxy[1.1 varnish], X-Frame-Options[SAMEORIGIN]
## Utilizzo```
.$$$ $. .$$$ $.
$$$$ $$. .$$$ $$$ .$$$$$$. .$$$$$$$$$$. $$$$ $$. .$$$$$$$. .$$$$$$.
$ $$ $$$ $ $$ $$$ $ $$$$$$. $$$$$ $$$$$$ $ $$ $$$ $ $$ $$ $ $$$$$$.
$ `$ $$$ $ `$ $$$ $ `$ $$$ $$' $ `$ `$$ $ `$ $$$ $ `$ $ `$ $$$'
$. $ $$$ $. $$$$$$ $. $$$$$$ `$ $. $ :' $. $ $$$ $. $$$$ $. $$$$$.
$::$ . $$$ $::$ $$$ $::$ $$$ $::$ $::$ . $$$ $::$ $::$ $$$$
$;;$ $$$ $$$ $;;$ $$$ $;;$ $$$ $;;$ $;;$ $$$ $$$ $;;$ $;;$ $$$$
$$$$$$ $$$$$ $$$$ $$$ $$$$ $$$ $$$$ $$$$$$ $$$$$ $$$$$$$$$ $$$$$$$$$'
WhatWeb - Next generation web scanner version 0.6.4.
Developed by Andrew Horton (urbanadventurer) and Brendan Coles (bcoles)
Homepage: https://morningstarsecurity.com/research/whatweb
Usage: whatweb [options] <URLs>
TARGET SELECTION:
<TARGETs> Enter URLs, hostnames, IP addresses, filenames or
IP ranges in CIDR, x.x.x-x, or x.x.x.x-x.x.x.x
format.
--input-file=FILE, -i Read targets from a file. You can pipe
hostnames or URLs directly with -i /dev/stdin.
TARGET MODIFICATION:
--url-prefix Add a prefix to target URLs.
--url-suffix Add a suffix to target URLs.
--url-pattern Insert the targets into a URL. Requires --input-file,
eg. www.example.com/%insert%/robots.txt
AGGRESSION:
The aggression level controls the trade-off between speed/stealth and
reliability.
--aggression, -a=LEVEL Set the aggression level. Default: 1.
Aggression levels are:
1. Stealthy Makes one HTTP request per target. Also follows redirects.
3. Aggressive If a level 1 plugin is matched, additional requests will be
made.
4. Heavy Makes a lot of HTTP requests per target. Aggressive tests from
all plugins are used for all URLs.
HTTP OPTIONS:
--user-agent, -U=AGENT Identify as AGENT instead of WhatWeb/0.6.3.
--header, -H Add an HTTP header. eg "Foo:Bar". Specifying a default
header will replace it. Specifying an empty value, eg.
"User-Agent:" will remove the header.
--follow-redirect=WHEN Control when to follow redirects. WHEN may be `never',
`http-only', `meta-only', `same-site', or `always'.
Default: always.
--max-redirects=NUM Maximum number of contiguous redirects. Default: 10.
AUTHENTICATION:
--user, -u=<user:password> HTTP basic authentication.
--cookie, -c=COOKIES Provide cookies, e.g. 'name=value; name2=value2'.
--cookiejar=FILE Read cookies from a file.
--no-cookies Disable automatic cookie handling (improves performance
with high thread counts).
### Cookie Handling
WhatWeb automatically handles cookies across redirects by default. This improves fingerprinting accuracy on sites requiring session management.
- `--cookie, -c=COOKIES` - Set initial cookies manually
- `--cookie-jar=FILE` - Load cookies from file
- `--no-cookies` - Disable automatic cookie handling
**Performance Note:** With high thread counts (>100), cookie handling may impact performance. Use `--no-cookies` for maximum speed on large scans.
PROXY:
--proxy <hostname[:port]> Set proxy hostname and port.
Default: 8080.
--proxy-user <username:password> Set proxy user and password.
PLUGINS:
--list-plugins, -l List all plugins.
--info-plugins, -I=[SEARCH] List all plugins with detailed information.
Optionally search with keywords in a comma
delimited list.
--search-plugins=STRING Search plugins for a keyword.
--plugins, -p=LIST Select plugins. LIST is a comma delimited set of
selected plugins. Default is all.
Each element can be a directory, file or plugin name and
can optionally have a modifier, eg. + or -
Examples: +/tmp/moo.rb,+/tmp/foo.rb
title,md5,+./plugins-disabled/
./plugins-disabled,-md5
-p + is a shortcut for -p +plugins-disabled.
--grep, -g=STRING|REGEXP Search for STRING or a Regular Expression. Shows
only the results that match.
Examples: --grep "hello"
--grep "/he[l]*o/"
--custom-plugin=DEFINITION Define a custom plugin named Custom-Plugin,
Examples: ":text=>'powered by abc'"
":version=>/powered[ ]?by ab[0-9]/"
":ghdb=>'intitle:abc \"powered by abc\"'"
":md5=>'8666257030b94d3bdb46e05945f60b42'"
--dorks=PLUGIN List Google dorks for the selected plugin.
OUTPUT:
--verbose, -v Verbose output includes plugin descriptions. Use twice
for debugging.
--colour,--color=WHEN control whether colour is used. WHEN may be `never',
`always', or `auto'.
--quiet, -q Do not display brief logging to STDOUT.
--no-errors Suppress error messages.
LOGGING:
--log-brief=FILE Log brief, one-line output.
--log-verbose=FILE Log verbose output.
--log-errors=FILE Log errors.
--log-xml=FILE Log XML format.
--log-json=FILE Log JSON format.
--log-sql=FILE Log SQL INSERT statements.
--log-sql-create=FILE Create SQL database tables.
--log-json-verbose=FILE Log JSON Verbose format.
--log-magictree=FILE Log MagicTree XML format.
--log-object=FILE Log Ruby object inspection format.
--log-mongo-database Name of the MongoDB database.
--log-mongo-collection Name of the MongoDB collection. Default: whatweb.
--log-mongo-host MongoDB hostname or IP address. Default: 0.0.0.0.
--log-mongo-username MongoDB username. Default: nil.
--log-mongo-password MongoDB password. Default: nil.
--log-elastic-index Name of the index to store results. Default: whatweb
--log-elastic-host Host:port of the elastic http interface. Default: 127.0.0.1:9200
PERFORMANCE & STABILITY:
--max-threads, -t Number of simultaneous threads. Default: 25.
--open-timeout Time in seconds. Default: 15.
--read-timeout Time in seconds. Default: 30.
--wait=SECONDS Wait SECONDS between connections.
This is useful when using a single thread.
HELP & MISCELLANEOUS:
--short-help Short usage help.
--help, -h Complete usage help.
--debug Raise errors in plugins.
--version Display version information. (WhatWeb 0.6.4).
EXAMPLE USAGE:
* Scan example.com.
./whatweb example.com
* Scan reddit.com slashdot.org with verbose plugin descriptions.
./whatweb -v reddit.com slashdot.org
* An aggressive scan of wired.com detects the exact version of WordPress.
./whatweb -a 3 www.wired.com
* Scan the local network quickly and suppress errors.
whatweb --no-errors 192.168.0.0/24
* Scan the local network for https websites.
whatweb --no-errors --url-prefix https:// 192.168.0.0/24
* Scan for crossdomain policies in the Alexa Top 1000.
./whatweb -i plugin-development/alexa-top-100.txt \
--url-suffix /crossdomain.xml -p crossdomain_xml
Sono supportati i seguenti tipi di logging:
È possibile scrivere su più log contemporaneamente specificando più opzioni di logging da riga di comando. Gli utenti avanzati che desiderano un output SQL dovrebbero leggere il codice sorgente per scoprire le funzionalità non supportate.
I match vengono effettuati con:
Per elencare i plugin supportati:
$ ./whatweb -l
Plugin Name - Description
--------------------------------------------------------------------------------
1024-CMS - 1024 is one of a few CMS's leading the way with the implementation...
360-Web-Manager - 360-Web-Manager
3COM-NBX - 3COM NBX phone system. The NBX NetSet utility is a web interface i...
3dcart - 3dcart - The 3dcart Shopping Cart Software is a complete ecommerce s...
4D - 4D web application deployment server
4images - 4images is a powerful web-based image gallery management system. Fe...
... (truncated)
Per visualizzare maggiori dettagli su un plugin o cercare plugin per parola chiave:
$ ./whatweb -I phpBB
WhatWeb Detailed Plugin List
Searching for phpBB
================================================================================
Plugin: phpBB
--------------------------------------------------------------------------------
Description: phpBB is a free forum
Website: http://phpbb.org/
Author: Andrew Horton
Version: 0.3
Features: [Yes] Pattern Matching (7)
[Yes] Version detection from pattern matching
[Yes] Function for passive matches
[Yes] Function for aggressive matches
[Yes] Google Dorks (1)
Google Dorks:
[1] "Powered by phpBB"
================================================================================
Tutti i plugin vengono caricati per impostazione predefinita.
I plugin possono essere selezionati tramite directory, file o nomi di plugin come elenco delimitato da virgole con l'opzione da riga di comando -p o --plugin.
Ogni elemento dell'elenco può avere un modificatore: + aggiunge al set completo, - rimuove dal set completo e nessun modificatore sovrascrive le impostazioni predefinite.
L'opzione da riga di comando --dorks restituisce i google dorks per il plugin selezionato. Ad esempio, --dorks wordpress restituisce "is proudly powered by WordPress"
L'opzione da riga di comando --grep, -g cerca nella pagina di destinazione la stringa selezionata e, se trovata, restituisce una corrispondenza in un plugin chiamato Grep.
WhatWeb offre diversi livelli di aggressività. Per impostazione predefinita il livello di aggressività è impostato a 1 (stealthy), che invia una singola richiesta HTTP GET e segue anche i redirect.
--aggression, -a
1. Stealthy Makes one HTTP request per target. Also follows redirects.
2. Unused
3. Aggressive Can make a handful of HTTP requests per target. This triggers
aggressive plugins for targets only when those plugins are
identified with a level 1 request first.
4. Heavy Makes a lot of HTTP requests per target. Aggressive tests from
all plugins are used for all URLs.
I plugin aggressivi di livello 3 tentano più URL ed eseguono azioni potenzialmente inadatte senza autorizzazione. WhatWeb attualmente non supporta alcun test di livello intrusion/exploit nei plugin.
Una scansione stealthy di livello 1 identifica che smartor.is-root.com/forum/ utilizza phpBB versione 2:
$ ./whatweb smartor.is-root.com/forum/
http://smartor.is-root.com/forum/ [200] PasswordField[password], HTTPServer[Apache/2.2.15], PoweredBy[phpBB], Apache[2.2.15], IP[88.198.177.36], phpBB[2], PHP[5.2.13], X-Powered-By[PHP/5.2.13], Cookies[phpbb2mysql_data,phpbb2mysql_sid], Title[Smartors Mods Forums - Reloaded], Country[GERMANY][DE]
Una scansione aggressiva di livello 3 attiva test aggiuntivi nel plugin phpBB che identificano che il sito utilizza phpBB versione 2.0.20 o successiva:
$ ./whatweb -p plugins/phpbb.rb -a 3 smartor.is-root.com/forum/
http://smartor.is-root.com/forum/ [200] phpBB[2,>2.0.20]
Nota l'uso dell'argomento -p per selezionare solo il plugin phpBB. È consigliabile, ma non obbligatorio, selezionare un plugin specifico quando si tenta di identificare le versioni del software in modalità aggressiva. Questo approccio è molto più furtivo poiché limita il numero di richieste.
WhatWeb non ha cache, quindi se si usano plugin aggressivi su URL che reindirizzano si potrebbero scaricare più volte gli stessi file.
WhatWeb offre diverse opzioni per aumentare prestazioni e stabilità.
I comandi --wait e --max-threads possono essere utilizzati per facilitare l'evasione IDS.
WhatWeb ottimizza automaticamente le prestazioni di output sia per l'output su schermo che per i file di log in base al numero di thread:
Conteggi di thread bassi (1-5):
Conteggi di thread medi (6-50):
Conteggi di thread elevati (51+):
È possibile sovrascrivere queste impostazioni predefinite sia per l'output su schermo che per i file di log:```bash
./whatweb --output-sync -t 100 --log-brief=results.txt targets.txt
./whatweb --output-buffer-size=50 -t 100 --log-verbose=detailed.log targets.txt
./whatweb --output-buffer-size=0 -t 10 --log-json=results.json targets.txt
Queste ottimizzazioni si applicano a tutti i formati di output, inclusi brief, verbose, XML, JSON e altri formati di log.
#### Dettagli tecnici
**Comportamento di sincronizzazione dell'output:**
- **Abilitato**: Ogni riga di output viene immediatamente scaricata su disco/schermo (più lenta ma in tempo reale)
- **Disabilitato**: L'output viene bufferizzato in memoria prima della scrittura (più veloce ma ritardato)
**Impatto della dimensione del buffer:**
- **Dimensione 1**: Buffer minimo, output quasi immediato
- **Dimensione 10**: Il piccolo buffer contiene ~10 risultati prima della scrittura
- **Dimensione 25+**: Un buffer più grande riduce le chiamate di sistema I/O per prestazioni migliori
- **Dimensione 0**: Completamente senza buffer (equivalente a sincronizzazione abilitata)
### Supporto alla profilazione
Abilita la profilazione delle prestazioni per identificare i colli di bottiglia:```bash
# Basic profiling to stderr
WHATWEB_PROFILE=1 ./whatweb -t 25 targets.txt
# Save profile to file
WHATWEB_PROFILE=1 WHATWEB_PROFILE_FILE=profile.txt ./whatweb -t 25 targets.txt
Nota: la profilazione richiede la gem ruby-prof: gem install ruby-prof
Cambiare lo user-agent utilizzando l'opzione da riga di comando -U o --user-agent eviterà la regola Snort IDS per WhatWeb.
Se stai scansionando intervalli di indirizzi IP, è molto più efficiente usare uno scanner di porte come massscan per scoprire quali hanno la porta 80 aperta prima di scansionare con WhatWeb.
Il rilevamento del set di caratteri, con il plugin Charset, diminuisce drasticamente le prestazioni richiedendo più CPU. Questo è richiesto dal logging JSON e MongoDB.
WhatWeb supporta dipendenze opzionali per il logging MongoDB e il rilevamento del set di caratteri.
Le dipendenze opzionali sono il motivo per cui il Gemfile è suddiviso in gruppi e WhatWeb non viene fornito con un Gemfile.lock. Se desideri un Gemfile.lock, verrà creato quando esegui bundle install.
Puoi installarle utilizzando i gruppi Bundler:
Per abilitare il logging MongoDB:```bash
bundle install --with mongo
GEMFILE_GROUPS="default mongo" bundle install
### Rilevamento del set di caratteri
Per abilitare il rilevamento del set di caratteri (richiesto per il logging JSON e MongoDB):```bash
# Install dependencies
bundle install --with rchardet
# If you're using an older version of Bundler
GEMFILE_GROUPS="default rchardet" bundle install
# Copy the charset plugin
cp plugins-disabled/charset.rb my-plugins/
Per installare tutte le dipendenze opzionali in una volta sola:```bash
bundle install --with mongo rchardet
GEMFILE_GROUPS="default mongo rchardet" bundle install
Nota: Il rilevamento del set di caratteri riduce drasticamente le prestazioni richiedendo più CPU. Abilitalo solo se ti serve.
## Scrivere plugin
I plugin sono facili da scrivere. Inizia seguendo i tutorial sui plugin nella cartella *my-plugins/*.
* [Tutorial sui plugin](https://github.com/urbanadventurer/WhatWeb/tree/master/my-plugins).
Una panoramica dei tutorial sui plugin è qui. [plugin-tutorials.txt](https://github.com/urbanadventurer/WhatWeb/tree/master/plugin-development/plugin-tutorials.txt)
Dopo aver completato i tutorial, leggi la sezione Sviluppo del [wiki](https://github.com/urbanadventurer/WhatWeb/wiki/).
* [Fonti per la scrittura di plugin](https://github.com/urbanadventurer/WhatWeb/wiki/Sources-for-Plugin-Writing)
* [Come sviluppare plugin per WhatWeb (non aggiornato)](https://github.com/urbanadventurer/WhatWeb/wiki/How-to-develop-WhatWeb-plugins)
## Aggiornamenti e Informazioni Aggiuntive
Il build di sviluppo di WhatWeb include aggiornamenti regolari.
* Controlla i rami di sviluppo per aggiornamenti non rilasciati.
Sfoglia il wiki per ulteriore documentazione e tecniche di utilizzo avanzate.
* Wiki: https://github.com/urbanadventurer/WhatWeb/wiki/
## Storico delle versioni
- Versione 0.6.4 rilasciata il 3 aprile 2026
- Versione 0.6.3 rilasciata il 18 ottobre 2025
- Versione 0.6.2 rilasciata il 25 agosto 2025
- Versione 0.6.1 rilasciata il 30 luglio 2025
- Versione 0.5.4 rilasciata il 14 dicembre 2020
- Versione 0.5.3 rilasciata il 1° ottobre 2020
- Versione 0.5.2 rilasciata il 9 giugno 2020
- Versione 0.5.1 rilasciata il 25 febbraio 2020
- Versione 0.5.0 rilasciata il 9 giugno 2019
- Versione 0.4.9 rilasciata il 23 novembre 2017
- Versione 0.4.8-dev (Rilascio continuo dal 2012 al 2017)
- Versione 0.4.7 rilasciata il 5 aprile 2011
- Versione 0.4.6 rilasciata il 25 marzo 2011
- Versione 0.4.5 rilasciata il 17 agosto 2010
- Versione 0.4.4 rilasciata il 29 giugno 2010
- Versione 0.4.3 rilasciata il 24 maggio 2010
- Versione 0.4.2 rilasciata il 30 aprile 2010
- Versione 0.4.1 rilasciata il 28 aprile 2010
- Versione 0.4 rilasciata il 14 marzo 2010
- Versione 0.3 rilasciata al Kiwicon III (kiwicon.org), 2 novembre 2009
## Crediti
### Sviluppatori
+ Andrew Horton (@urbanadventurer)
+ Brendan Coles (@bcoles)
### Contributori
Ringraziamo le seguenti persone che hanno contribuito a WhatWeb.
+ Emilio Casbas
+ Louis Nyffenegger
+ Patrik Wallström (@pawal)
+ Caleb Anderson (@dirtyfilthy)
+ Tonmoy Saikia
+ Aung Khant (@yehgdotnet)
+ Erik Inge Bolsø
+ [email protected]
+ Steve Milner (@ashcrow)
+ Michal Ambroz
+ Gremwell
+ Sagar Prakash Junnarkar (@sagarjunnarkar)
+ GertBerger
+ Quintin Poirier
+ Eric Sesterhenn
+ dengjw (@jawa)
+ Pedro Worcel (@droop)
+ Matthieu Keller (@maggick)
+ Peter (2pvdl)
+ Napz (@RootCon)
+ @nilx042
+ Fabian Affolter (@fabaff)
+ Andrew Silvernail (@buff3r)
+ Andre Ricardo (@andrericardo)
+ nikosk
+ Patrick Thomas (@coffeetocode)
+ Guillaume Delcaour (@guikcd)
+ Sean (@wiifm69)
+ Matthieu Keller (@maggick)
+ Raul (@raurodse)
+ Andrew Petro (@apetro)
+ Artem Taranyuk (@610)
+ Matti Paksula (@matti)
+ Tim Smith (@tas50)
+ Sarthak Munshi (@saru95)
+ @rdubourguais
+ @SlivTaMere
+ @Code0x58
+ @iGeek098
+ @andreas-becker
+ @csalazar
+ Igor Rzegocki (@ajgon)
+ @juananpe
+ @lins05
+ @anozoozian
+ Bhavin Senjaliya (@bhavin1223)
+ Chad Brigance (@ChadBrigance)
+ Daniel Maldonado
+ Elias Dorneles (@eliasdorneles)
+ Eugene Amirov
+ Gregory Boddin (@gboddin)
+ Guillaume Delacour
+ Janosch Maier (@phylu)
+ Max Davitt (@themaxdavitt)
+ Naglis Jonaitis (@naglis)
+ Shuai Lin
+ Sigit Dewanto (@sigit)
+ @wh1tenoise
+ @golewski
+ @Allactaga
+ @elcodigok
+ @SlivTaMere
+ @rmaksimov
+ Melvil Guillaume (@mguillau42)
+ @LrsK
+ @abenson
+ @blshkv
+ Weidsom Nascimento (@weidsom)
+ Marcelo Gimenes (@cgimenes)
+ @xambroz
+ Baptiste Fontaine (@bfontaine)
+ @definity
+ @huntertl
+ Michael Ippolito (@spookycave)
+ @mkauschi
+ @frapava98
+ John de Kroon (@johndekroon)
+ @mtisec
+ Claude from Anthropic
È difficile tenere traccia di tutte le persone che hanno contribuito a WhatWeb. Se il tuo nome manca, per favore fammelo sapere.