1WHATWEB(1) General Commands Manual WHATWEB(1)
2
3
4
6 WhatWeb - Next generation Web scanner. Identify technologies used by
7 websites.
8
10 whatweb [options] <URLs>
11
12
14 WhatWeb identifies websites. It's goal is to answer the question, "What
15 is that Website?". WhatWeb recognises web technologies including con‐
16 tent management systems (CMS), blogging platforms, statistic/analytics
17 packages, JavaScript libraries, web servers, and embedded devices.
18 WhatWeb has over 1800 plugins, each to recognise something different.
19 WhatWeb also identifies version numbers, email addresses, account ID's,
20 web framework modules, SQL errors, and more.
21
22 WhatWeb can be stealthy and fast, or thorough but slow. WhatWeb sup‐
23 ports an aggression level to control the trade off between speed and
24 reliability. When you visit a website in your browser, the transaction
25 includes many hints of what web technologies are powering that website.
26 Sometimes a single webpage visit contains enough information to iden‐
27 tify a website but when it does not, WhatWeb can interrogate the web‐
28 site further. The default level of aggression, called 'passive', is the
29 fastest and requires only one HTTP request of a website. This is suit‐
30 able for scanning public websites. More aggressive modes were developed
31 for in penetration tests.
32
33 Most WhatWeb plugins are thorough and recognise a range of cues from
34 subtle to obvious. For example, most WordPress websites can be identi‐
35 fied by the meta HTML tag, e.g. '<meta name="generator" content="Word‐
36 Press 2.6.5">', but a minority of WordPress websites remove this iden‐
37 tifying tag but this does not thwart WhatWeb. The WordPress WhatWeb
38 plugin has over 15 tests, which include checking the favicon, default
39 installation files, login pages, and checking for "/wp-content/" within
40 relative links.
41
42
43 Features:
44
45 * Over 1800 plugins
46
47 * Control the trade off between speed/stealth and reliability
48
49 * Performance tuning. Control how many websites to scan concur‐
50 rently.
51
52 * Multiple log formats: Brief (greppable), Verbose (human read‐
53 able), XML, JSON, MagicTree, RubyObject, MongoDB, SQL.
54
55 * Proxy support including TOR
56
57 * Custom HTTP headers
58
59 * Basic HTTP authentication
60
61 * Control over webpage redirection
62
63 * IP address ranges
64
65 * Fuzzy matching
66
67 * Result certainty awareness
68
69 * Custom plugins defined on the command line
70
71 * IDN (International Domain Name) support
72
73
74
76 <TARGETs>
77 Enter URLs, hostnames, IP adddresses, filenames or IP ranges in
78 CIDR, x.x.x-x, or x.x.x.x-x.x.x.x format.
79
80 --input-file=FILE -i
81 Identify URLs found in FILE
82
84 --url-prefix
85 Add a prefix to target URLs
86
87 --url-suffix
88 Add a suffix to target URLs
89
90 --url-pattern
91 Insert the targets into a URL. Requires --input-file, eg.
92 www.example.com/%insert%/robots.txt
93
95 The aggression level controls the trade-off between speed/stealth and
96 reliability.
97
98 --aggression -a=LEVEL
99 Set the aggression level. Default: 1.
100
101 1. Stealthy Makes one HTTP request per target and also follows
102 redirects.
103 3. Aggressive If a level 1 plugin is matched, additional requests
104 will be made.
105 4. Heavy Makes a lot of HTTP requests per target. URLs from
106 all plugins are attempted.
107
108
110 --user-agent, -U=AGENT
111 Identify as AGENT instead of WhatWeb/0.4.9.
112
113 --header, -H
114 Add an HTTP header. eg "Foo:Bar". Specifying a default header
115 will replace it. Specifying an empty value, e.g. "User-Agent:"
116 will remove it.
117
118 --follow-redirect=WHEN
119 Control when to follow redirects. WHEN may be `never', `http-
120 only', `meta-only', `same-site', or `always'. Default: always.
121
122 --max-redirects=NUM
123 Maximum number of redirects. Default: 10.
124
125
127 --user, -u=<user:password>
128 HTTP basic authentication.
129
130 --cookie, -c=COOKIES
131 Use cookies, e.g. 'name=value; name2=value2'.
132
133
135 --proxy <hostname[:port]> Set proxy hostname and port. Default: 8080.
136
137 --proxy-user
138 <username:password> Set proxy user and password.
139
140
142 --list-plugins, -l
143 List all plugins.
144
145 --info-plugins, -I=[SEARCH]
146 List all plugins with detailed information. Optionally search
147 with keywords in a comma delimited list.
148
149 --search-plugins=STRING
150 Search plugins for a keyword.
151
152 --plugins, -p=LIST
153 Select plugins. LIST is a comma delimited set of selected plug‐
154 ins. Default is all. Each element can be a directory, file or
155 plugin name and can optionally have a modifier, +/-.
156
157 Examples: +/tmp/moo.rb,+/tmp/foo.rb
158 title,md5,+./plugins-disabled/
159 +./plugins-disabled,-md5
160 -p + is a shortcut for -p +plugins-disabled.
161
162
163 --grep, -g=STRING|REGEXP
164 Search for STRING or a Regular Expression. Shows only the results that match.
165
166 Examples: --grep "hello"
167 --grep "/he[l]*o/"
168
169
170 --custom-plugin=DEFINITION
171 Define a custom plugin named Custom-Plugin,
172
173 Examples: ":text=>'powered by abc'"
174 ":version=>/powered[ ]?by ab[0-9]/"
175 ":ghdb=>'intitle:abc
176 ":md5=>'8666257030b94d3bdb46e05945f60b42'"
177 "{:text=>'powered by abc'}"
178
179
180 --dorks=PLUGIN
181 List Google dorks for the selected plugin.
182
183
184
186 --verbose, -v
187 Verbose output includes plugin descriptions. Use twice for de‐
188 bugging.
189
190 --colour,--color=WHEN
191 control whether colour is used. WHEN may be `never', `always',
192 or `auto'.
193
194 --quiet, -q
195 Do not display brief logging to STDOUT.
196
197 --no-errors
198 Suppress error messages.
199
200
202 --log-brief=FILE
203 Log brief, one-line output.
204
205 --log-verbose=FILE
206 Log verbose output.
207
208 --log-errors=FILE
209 Log errors.
210
211 --log-xml=FILE
212 Log XML format.
213
214 --log-json=FILE
215 Log JSON format.
216
217 --log-sql=FILE
218 Log SQL INSERT statements.
219
220 --log-sql-create=FILE
221 Create SQL database tables.
222
223 --log-json-verbose=FILE
224 Log JSON Verbose format.
225
226 --log-magictree=FILE
227 Log MagicTree XML format.
228
229 --log-object=FILE
230 Log Ruby object inspection format.
231
232 --log-mongo-database
233 Name of the MongoDB database.
234
235 --log-mongo-collection
236 Name of the MongoDB collection. Default: whatweb.
237
238 --log-mongo-host
239 MongoDB hostname or IP address. Default: 0.0.0.0.
240
241 --log-mongo-username
242 MongoDB username. Default: nil.
243
244 --log-mongo-password
245 MongoDB password. Default: nil.
246
247 --log-elastic-index
248 Name of the index to store results. Default: whatweb
249
250 --log-elastic-host
251 Host:port of the elastic http interface. Default:
252 127.0.0.1:9200s
253
254
255
257 --max-threads, -t
258 Number of simultaneous threads. Default: 25.
259
260 --open-timeout
261 Time in seconds. Default: 15.
262
263 --read-timeout
264 Time in seconds. Default: 30.
265
266 --wait=SECONDS
267 Wait SECONDS between connections. This is useful when using a
268 single thread.
269
270
272 --short-help
273 Short usage help.
274
275 --help, -h
276 Complete usage help.
277
278 --debug
279 Raise errors in plugins.
280
281 --version
282 Display version information.
283
284
286 Scan example.com.
287 ./whatweb example.com
288
289 Scan reddit.com slashdot.org with verbose plugin descriptions.
290 ./whatweb -v reddit.com slashdot.org
291
292 An aggressive scan of wired.com detects the exact version of WordPress.
293 ./whatweb -a 3 www.wired.com
294
295 Scan the local network quickly and suppress errors.
296 whatweb --no-errors 192.168.0.0/24
297
298 Scan the local network for https websites.
299 whatweb --no-errors --url-prefix https://192.168.0.0/24
300
301 Scan for crossdomain policies in the Alexa Top 1000.
302 ./whatweb -i plugin-development/alexa-top-100.txt --url-suffix
303 /crossdomain.xml -p crossdomain_xml
304
305
306
308 Report bugs and feature requests to https://github.com/urbanadven‐
309 turer/WhatWeb
310
311
313 Developed by Andrew Horton (urbanadventurer) and Brendan Coles
314 (bcoles).
315
316
318 https://www.morningstarsecurity.com/research/whatweb
319
320
322 https://github.com/urbanadventurer/WhatWeb/
323
324 December 14th, 2020 WHATWEB(1)