Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何检测URL的操作系统名称和版本?_C#_Asp.net_.net - Fatal编程技术网

C# 如何检测URL的操作系统名称和版本?

C# 如何检测URL的操作系统名称和版本?,c#,asp.net,.net,C#,Asp.net,.net,在我的应用程序中,我想从用户那里获得一个网站地址,并向他展示该网站的操作系统(即,运行的是什么操作系统服务器)。我该怎么做 最好的方面你不能100%,你可以大致知道它使用的是什么web服务器,所以如果它是IIS,你可以猜它是Windows,但没有硬性规定,我可以让Linux上的Apache告诉你它是IIS或cat 我想您需要的是HttpWebResponse.Server-发送一个HTTP 1.0或1.1查询,您可能会在回复中收到一个“Server”标题。这通常是你能做的最好的了。检查这一点,关

在我的应用程序中,我想从用户那里获得一个网站地址,并向他展示该网站的操作系统(即,运行的是什么操作系统服务器)。我该怎么做


最好的方面

你不能100%,你可以大致知道它使用的是什么web服务器,所以如果它是IIS,你可以猜它是Windows,但没有硬性规定,我可以让Linux上的Apache告诉你它是IIS或cat


我想您需要的是HttpWebResponse.Server-

发送一个HTTP 1.0或1.1查询,您可能会在回复中收到一个“Server”标题。这通常是你能做的最好的了。

检查这一点,关于理论,nmap使用已知的签名来检测操作系统版本,因此如果你能使用他们基于文本的数据库,这可能会对你有所帮助,或者,您可以在隐藏进程中运行nmap并解析其指纹输出以检测远程操作系统。

您的意思是您想要网站所在服务器的操作系统!真的不清楚你想做什么。警告:nmap扫描通常被认为是恶意的。@todda.speot.is:你是对的,我只想提一个选项,即存在远程操作系统检测,一种方法是使用基于文本的签名数据库,我在这里没有其他意图。在标题[“服务器”]中,我们可以获得web服务器,但没有操作系统!回答一个你不懂的问题很难。你认为问一个网站的操作系统是什么意思?网站是一种功能,一种结果,它不是一台计算机。麦当劳的操作系统是什么?如果该网站使用FreeBSD负载平衡器、Linux web服务器前端、Windows机器上的后端数据库以及存储在FreeNAS盒上的存储,那么“该网站的操作系统”是什么?desc:System.Net.WebRequest re=System.Net.WebRequest.Create(“);System.Net.WebResponse rs=re.GetResponse();Response.Write(rs.Headers[0]);我们如何在响应中检测操作系统?