我可以检测网站使用的网络服务器吗?

Jon*_*nas 56 internet http webserver

是否有任何程序或命令可以用来检测网站正在使用的网络服务器?对于网络服务器,我指的是软件,即 IIS 6、Apache 或 nginx。

小智 61

您可以使用Netcraft What's That Site Running进行一次性查询。

您可以使用

wget --save-headers superuser.com
Run Code Online (Sandbox Code Playgroud)

这会将服务器标头转储到一个新文件 index.html 中,然后您可以在文本编辑器中查看该文件。

例如,对于这个站点:

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
Run Code Online (Sandbox Code Playgroud)

如果您需要单行程序仅报告网络服务器类型并过滤掉不需要的内容,请使用:

wget -q -O- --save-headers superuser.com | grep '^[Ss]erver:' | awk '{print $2}'
Run Code Online (Sandbox Code Playgroud)

  • 对于 Windows 用户,“curl”更好,GnuWin 的移植“wget”不会返回任何有用的内容 (2认同)

小智 27

生的:

curl -I duckduckgo.com
Run Code Online (Sandbox Code Playgroud)

过滤:

curl -s -I duckduckgo.com|grep Server
Run Code Online (Sandbox Code Playgroud)

或者

curl -s -I duckduckgo.com|sed -n '/^Server:/p'
Run Code Online (Sandbox Code Playgroud)

或超酷

curl -s -I duckduckgo.com|awk '$1~/Server:/ {print $2}'
Run Code Online (Sandbox Code Playgroud)

或为了装腔作势

curl -s -I duckduckgo.com|sed -n 's/^S[erv]*: //p'
Run Code Online (Sandbox Code Playgroud)

仅适用于 unixoide 操作系统!!!