Is there any program or command that I can use to detect what webserver a website is using? With webserver I mean in software i.e. IIS 6, Apache or nginx.
Asked
Active
Viewed 1.9e+01k times
60
-
take a look at this: http://stackoverflow.com/questions/1097472/how-to-detect-web-server-type – chook Mar 16 '10 at 22:48
-
I like: https://w3bin.com/ but it's not always going to be accurate due to CDNs such as CloudFlare, etc – CTS_AE Jun 19 '17 at 09:46
-
Since the tools `wget` and `curl` will not become outdated (and probably many following HTTP versions will report [the `Server:` header](https://www.iana.org/assignments/message-headers/message-headers.xhtml)), this could be reopened. – serv-inc Oct 04 '18 at 11:12
3 Answers
65
You can use Netcraft What's That Site Running for a one off query.
You can use
wget --save-headers superuser.com
Which will dump the server headers into a new file index.html which you can then view in a text editor.
Eg, for this site:
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html; charset=utf-8
Expires: Tue, 16 Mar 2010 22:54:59 GMT
Server: Microsoft-IIS/7.5
Date: Tue, 16 Mar 2010 22:54:58 GMT
Connection: keep-alive
Content-Length: 119466
If you need a one-liner to just report the webserver type only and filter out the unwanted stuff then use:
wget -q -O- --save-headers superuser.com | grep '^[Ss]erver:' | awk '{print $2}'
5p0ng3b0b
- 193
- 9
Richard Holloway
- 1,319
- 9
- 7
-
1for Windows users `curl` is better, GnuWin's ported `wget` doesn't return anything useful – overdriven Jun 08 '20 at 09:22
-
29
raw:
curl -I duckduckgo.com
filtered:
curl -s -I duckduckgo.com|grep Server
or
curl -s -I duckduckgo.com|sed -n '/^Server:/p'
or übercool
curl -s -I duckduckgo.com|awk '$1~/Server:/ {print $2}'
or for poser
curl -s -I duckduckgo.com|sed -n 's/^S[erv]*: //p'
only for unixoide OS!!!
jamesdlin
- 3,012
- 22
- 32
user243885
- 291
- 3
- 2
-
1+ for "übercool" and "poser". Indeed SED+AWK Users are übercool posers :D – Gewure Jul 19 '17 at 07:48
-
-
I would recommend suggesting `curl --head` instead of `curl -I` (uppercase i), which I misread as `curl -l` (lowercase L). – jamesdlin Jul 11 '20 at 23:04
3
For a public website, you can use Netcraft - http://netcraft.com/. It allows you to plug in a website's address, and it will analyze the headers and tell you the webserver in use.
Mox
- 619
- 3
- 6