我正在尝试检测哪个Web服务器类型正在运行域,因此处理此问题的最佳选择是什么。
我正在做一个C#应用程序。
答案 0 :(得分:6)
您可以向服务器发出请求并检查响应标头中“Server
”的值
例如
using System;
using System.Net;
public class TestApp {
public static void Main( string[] args ) {
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.stackoverflow.com/");
WebResponse response = request.GetResponse();
Console.Out.WriteLine( response.Headers.Get("Server") );
}
}
// Output:
// Microsoft-IIS/7.0
答案 1 :(得分:1)
另一种简单的方法是使用网络浏览器(Chrome,FireFox,IE)。它们中的大多数允许按F12键访问其开发人员模式。然后,访问Web服务器的URL,然后转到“网络”标签和“响应头”选项,以查找是否存在“服务器”响应头。
坏消息是响应中可能不包含“ Server”标头,因为它是可选的,实际上,如果出于安全考虑,不建议使用它(否则,黑客可能会知道正在使用的服务器,并且它的版本,以便她可以集中精力于它的漏洞以攻击服务器)