
Escáner web de próxima generación
Desarrollado por Andrew Horton urbanadventurer y Brendan Coles bcoles
Última versión: v0.6.4. 3 de abril de 2026
Licencia: GPLv2
Este producto está sujeto a los términos detallados en el acuerdo de licencia. Para obtener más información sobre WhatWeb, visite https://github.com/urbanadventurer/
Wiki: https://github.com/urbanadventurer/WhatWeb/wiki/
Si tiene alguna pregunta, comentario o inquietud sobre WhatWeb, consulte la documentación antes de ponerse en contacto con uno de los desarrolladores. Sus comentarios son siempre bienvenidos.
WhatWeb identifica sitios web. Su objetivo es responder a la pregunta: "¿Qué es ese sitio web?". WhatWeb reconoce tecnologías web, incluidos sistemas de gestión de contenidos (CMS), plataformas de blogs, paquetes de estadísticas/análisis, librerías JavaScript, servidores web y dispositivos integrados. WhatWeb tiene más de 1800 plugins, cada uno para reconocer algo diferente. WhatWeb también identifica números de versión, direcciones de correo electrónico, ID de cuenta, módulos de frameworks web, errores SQL y más.
WhatWeb puede ser sigiloso y rápido, o minucioso pero lento. WhatWeb admite un nivel de agresividad para controlar el equilibrio entre velocidad y fiabilidad. Cuando visita un sitio web en su navegador, la transacción incluye muchas pistas sobre qué tecnologías web están impulsando ese sitio web. A veces, una sola visita a una página web contiene suficiente información para identificar un sitio web, pero cuando no es así, WhatWeb puede interrogar al sitio web más a fondo. El nivel de agresividad predeterminado, llamado 'sigiloso', es el más rápido y requiere solo una solicitud HTTP a un sitio web. Esto es adecuado para escanear sitios web públicos. Los modos más agresivos se desarrollaron para su uso en pruebas de penetración.
La mayoría de los plugins de WhatWeb son minuciosos y reconocen una variedad de pistas, desde sutiles hasta obvias. Por ejemplo, la mayoría de los sitios web de WordPress se pueden identificar mediante la etiqueta meta HTML, p. ej. '', pero una minoría de sitios web de WordPress eliminan esta etiqueta identificativa, lo que no frustra a WhatWeb. El plugin de WordPress de WhatWeb tiene más de 15 pruebas, que incluyen verificar el favicon, los archivos de instalación predeterminados, las páginas de inicio de sesión y la presencia de "/wp-content/" dentro de los enlaces relativos.
Usando WhatWeb para escanear 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]
## Uso```
.$$$ $. .$$$ $.
$$$$ $$. .$$$ $$$ .$$$$$$. .$$$$$$$$$$. $$$$ $$. .$$$$$$$. .$$$$$$.
$ $$ $$$ $ $$ $$$ $ $$$$$$. $$$$$ $$$$$$ $ $$ $$$ $ $$ $$ $ $$$$$$.
$ `$ $$$ $ `$ $$$ $ `$ $$$ $$' $ `$ `$$ $ `$ $$$ $ `$ $ `$ $$$'
$. $ $$$ $. $$$$$$ $. $$$$$$ `$ $. $ :' $. $ $$$ $. $$$$ $. $$$$$.
$::$ . $$$ $::$ $$$ $::$ $$$ $::$ $::$ . $$$ $::$ $::$ $$$$
$;;$ $$$ $$$ $;;$ $$$ $;;$ $$$ $;;$ $;;$ $$$ $$$ $;;$ $;;$ $$$$
$$$$$$ $$$$$ $$$$ $$$ $$$$ $$$ $$$$ $$$$$$ $$$$$ $$$$$$$$$ $$$$$$$$$'
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
The following types of logging are supported:
Puede generar múltiples registros simultáneamente especificando varias opciones de registro en la línea de comandos. Los usuarios avanzados que deseen salida SQL deben leer el código fuente para ver las características no soportadas.
Las coincidencias se realizan con:
Para listar los plugins soportados:
$ ./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)
Para ver más detalles sobre un plugin o buscar plugins por una palabra clave:
$ ./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"
================================================================================
Todos los plugins se cargan por defecto.
Los plugins se pueden seleccionar mediante directorios, archivos o nombres de plugin en una lista delimitada por comas con la opción de línea de comandos -p o --plugin.
Cada elemento de la lista puede tener un modificador: + añade al conjunto completo, - elimina del conjunto completo y la ausencia de modificador sustituye a los valores por defecto.
La opción de línea de comandos --dorks devuelve los google dorks del plugin seleccionado. Por ejemplo, --dorks wordpress devuelve "is proudly powered by WordPress"
La opción de línea de comandos --grep, -g busca la cadena seleccionada en la página de destino y devuelve una coincidencia en un plugin llamado Grep si se encuentra.
WhatWeb incluye varios niveles de agresión. Por defecto, el nivel de agresión está establecido en 1 (sigiloso), que envía una única petición HTTP GET y también sigue las redirecciones.
--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.
Los plugins agresivos de nivel 3 adivinarán más URLs y realizarán acciones que potencialmente no son adecuadas sin permiso. WhatWeb actualmente no soporta ninguna prueba de nivel de intrusión/explotación en los plugins.
Un escaneo sigiloso de nivel 1 identifica que smartor.is-root.com/forum/ utiliza phpBB versión 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]
Un escaneo agresivo de nivel 3 activa pruebas adicionales en el plugin phpBB que identifican que el sitio web utiliza phpBB versión 2.0.20 o superior:
$ ./whatweb -p plugins/phpbb.rb -a 3 smartor.is-root.com/forum/
http://smartor.is-root.com/forum/ [200] phpBB[2,>2.0.20]
Observe el uso del argumento -p para seleccionar únicamente el plugin phpBB. Es recomendable, aunque no obligatorio, seleccionar un plugin específico al intentar identificar las versiones de software en modo agresivo. Este enfoque es mucho más sigiloso, ya que limita el número de peticiones.
WhatWeb no tiene caché, por lo que si utiliza plugins agresivos en URLs con redirecciones, puede descargar los mismos archivos varias veces.
WhatWeb incluye varias opciones para aumentar el rendimiento y la estabilidad.
Los comandos --wait y --max-threads se pueden utilizar para ayudar en la evasión de IDS.
WhatWeb optimiza automáticamente el rendimiento de salida tanto para la pantalla como para los archivos de registro según el número de hilos:
Número de hilos bajo (1-5):
Número de hilos medio (6-50):
Número de hilos alto (51+):
Puede anular estos valores por defecto tanto para la salida en pantalla como para los archivos de registro:```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
Estas optimizaciones se aplican a todos los formatos de salida, incluidos brief, verbose, XML, JSON y otros formatos de registro.
#### Detalles Técnicos
**Comportamiento de Sincronización de Salida:**
- **Habilitado**: Cada línea de salida se vacía inmediatamente a disco/pantalla (más lento pero en tiempo real)
- **Deshabilitado**: La salida se almacena en búfer en memoria antes de escribir (más rápida pero con retraso)
**Impacto del Tamaño del Búfer:**
- **Tamaño 1**: Búfer mínimo, salida casi inmediata
- **Tamaño 10**: El búfer pequeño contiene ~10 resultados antes de escribir
- **Tamaño 25+**: Un búfer más grande reduce las llamadas al sistema de E/S para un mejor rendimiento
- **Tamaño 0**: Completamente sin búfer (equivalente a sincronización habilitada)
### Soporte de Perfilado
Habilite el perfilado de rendimiento para identificar cuellos de botella:```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 creación de perfiles requiere la gema ruby-prof: gem install ruby-prof
Cambiar el user-agent mediante la opción de línea de comandos -U o --user-agent evitará la regla de Snort IDS para WhatWeb.
Si está escaneando rangos de direcciones IP, es mucho más eficiente usar un escáner de puertos como massscan para descubrir cuáles tienen el puerto 80 abierto antes de escanear con WhatWeb.
La detección del conjunto de caracteres, con el plugin Charset, disminuye drásticamente el rendimiento al requerir más CPU. Esto es necesario para el registro en JSON y MongoDB.
WhatWeb admite dependencias opcionales para el registro en MongoDB y la detección del conjunto de caracteres.
Las dependencias opcionales son la razón por la que el Gemfile está dividido en grupos y WhatWeb no incluye un Gemfile.lock. Si desea un Gemfile.lock, se creará cuando ejecute bundle install.
Puede instalarlas usando grupos de Bundler:
Para habilitar el registro en MongoDB:```bash
bundle install --with mongo
GEMFILE_GROUPS="default mongo" bundle install
### Detección de Conjunto de Caracteres
Para habilitar la detección del conjunto de caracteres (requerida para el registro en JSON y 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/
Para instalar todas las dependencias opcionales a la vez:```bash
bundle install --with mongo rchardet
GEMFILE_GROUPS="default mongo rchardet" bundle install
Nota: La detección del conjunto de caracteres disminuye drásticamente el rendimiento al requerir más CPU. Actívala solo si la necesitas.
## Escribir Plugins
Los plugins son fáciles de escribir. Comienza revisando los tutoriales de plugins en la carpeta *my-plugins/*.
* [Plugin Tutorials](https://github.com/urbanadventurer/WhatWeb/tree/master/my-plugins).
Aquí tienes una visión general de los tutoriales de plugins. [plugin-tutorials.txt](https://github.com/urbanadventurer/WhatWeb/tree/master/plugin-development/plugin-tutorials.txt)
Después de avanzar por los tutoriales, lee la sección Desarrollo de la [wiki](https://github.com/urbanadventurer/WhatWeb/wiki/).
* [Fuentes para escribir plugins](https://github.com/urbanadventurer/WhatWeb/wiki/Sources-for-Plugin-Writing)
* [Cómo desarrollar plugins de WhatWeb (desactualizado)](https://github.com/urbanadventurer/WhatWeb/wiki/How-to-develop-WhatWeb-plugins)
## Actualizaciones e Información Adicional
La compilación de desarrollo de WhatWeb incluye actualizaciones periódicas.
* Revisa las ramas de desarrollo para ver actualizaciones no publicadas.
Explora la wiki para obtener más documentación y técnicas de uso avanzadas.
* Wiki: https://github.com/urbanadventurer/WhatWeb/wiki/
## Historial de Versiones
- Versión 0.6.4 publicada el 3 de abril de 2026
- Versión 0.6.3 publicada el 18 de octubre de 2025
- Versión 0.6.2 publicada el 25 de agosto de 2025
- Versión 0.6.1 publicada el 30 de julio de 2025
- Versión 0.5.4 publicada el 14 de diciembre de 2020
- Versión 0.5.3 publicada el 1 de octubre de 2020
- Versión 0.5.2 publicada el 9 de junio de 2020
- Versión 0.5.1 publicada el 25 de febrero de 2020
- Versión 0.5.0 publicada el 9 de junio de 2019
- Versión 0.4.9 publicada el 23 de noviembre de 2017
- Versión 0.4.8-dev (Lanzamiento continuo de 2012 a 2017)
- Versión 0.4.7 publicada el 5 de abril de 2011
- Versión 0.4.6 publicada el 25 de marzo de 2011
- Versión 0.4.5 publicada el 17 de agosto de 2010
- Versión 0.4.4 publicada el 29 de junio de 2010
- Versión 0.4.3 publicada el 24 de mayo de 2010
- Versión 0.4.2 publicada el 30 de abril de 2010
- Versión 0.4.1 publicada el 28 de abril de 2010
- Versión 0.4 publicada el 14 de marzo de 2010
- Versión 0.3 publicada en Kiwicon III (kiwicon.org), el 2 de noviembre de 2009
## Créditos
### Desarrolladores
+ Andrew Horton (@urbanadventurer)
+ Brendan Coles (@bcoles)
### Colaboradores
Gracias a las siguientes personas que han contribuido 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 de Anthropic
Es difícil hacer un seguimiento de todas las personas que han contribuido a WhatWeb. Si tu nombre no aparece, por favor avísame.