使用c#进行网络爬网时如何确定页面类型

时间:2014-10-26 06:09:54

标签: c# asp.net web-crawler webrequest

我正在尝试查看是否有一种具体方法来确定主页面的页面类型或扩展名。例如,如果我向诸如www.example.com之类的域发出Web请求,则该页面将返回.PHP或.ASP扩展类型。我想尝试扫描范围内的所有域,并仅返回.asp经典页面并作为示例。

1 个答案:

答案 0 :(得分:1)

一般来说,您无法确定服务器如何响应URL请求。假设您无法查看扩展(如您所描述的情况),响应标头可能会有所帮助。例如:

  1. 看看X-AspNet-Version。如果后者存在,几乎可以肯定IIS运行ASP.NET。如果失败,请查找Server标题,这可能类似于" Microsoft-IIS / 8.0"
  2. 看看Access-Control-Allow-Methods。如果没有这个或者设置为只在IIS上进行GET和POST(参见上面的内容),它很可能是经典的ASP或ASP.NET。
  3. 某些网站可能包含专家标题。例如,博客网站可能包含标题X-Pingback,该标题可能指向带有扩展名的网址。
  4. 另一种选择是使用白帽黑客工具。我知道nmap can remotely determine the OS但不一定是如何生成页面的。但是,未经网站事先许可,我不建议这样做,因为它可能被视为攻击。

    让我退后一步。为什么要确定它们是否正在运行ASP?如果您正在寻找漏洞,请将问题提交给安全论坛。如果您是一名控制编写者,并希望了解人们是否盗用您的工具,请在您可以扫描的控件输出中嵌入一段不同的HTML。