您如何确定网站建立在啥技术之上? [关闭]
Posted
技术标签:
【中文标题】您如何确定网站建立在啥技术之上? [关闭]【英文标题】:How do you determine what technology a website is built on? [closed]您如何确定网站建立在什么技术之上? [关闭] 【发布时间】:2010-09-28 15:29:37 【问题描述】:我经常看到一个外观漂亮或功能强大的网站,想知道使用什么技术来创建它。有哪些技术可以用来确定什么是 特定网站是用什么构建的?
似乎很少有框架像网络编辑器那样包含任何类型的生成器元标记。是否有任何特定语言和/或框架的迹象?
答案摘要
站点 URL 可能会背叛框架和/或编程语言,但不能依赖(例如 .asp 等文件扩展名)。 HTTP 响应标头、cookie、样式表和源 cmets 也可能提供线索。
一些很好的查询网站详细信息的工具(毫无疑问还有很多):
BuiltWith DomainTools NetCraft W3Techs SimilarTechFirefox 插件:
Wappalyzer - CMS、框架/库、电子商务、留言板等。 Domain Details - IP、国家和网络服务器详细信息 Library Detector - 正在使用的 javascript 库Chrome 扩展程序:
Wappalyzer SimilarTech PageXray书签:
WTFramework - 显示正在使用的 Javascript 框架【问题讨论】:
我喜欢使用 Firefox 插件 Wappalyzer 来一目了然地了解网站的技术。 guess.scritch.org 也是一个不错的查询网站详细信息的工具。 我很想知道它是否是一种隐藏底层服务器语言的方法 @shababhsiddique 默认情况下,底层服务器语言是“隐藏的”。不会有任何标准技术来隐藏您的网站所构建的内容 - 只是不要让您的后端将任何标志性标记输出到前端 @ZachL 我仍然在过去发现了一些我无法分辨的网站。以 apple.com 为例。 builtwith.com/?https%3a%2f%2fwww.apple.com%2f ,你怎么知道的?如果你不知道苹果是如何隐藏它的? 【参考方案1】:URL 可以提供很多线索,尤其是内容管理系统。
例如“http://abcxyz.com/node/46”看起来很像 Drupal。
许多框架也有他们使用的标准 JavaScript 和 CSS 文件。
【讨论】:
不错!我喜欢标准的 javascript,尤其是标准的 CSS 文件作为指纹。 不正确。 SO 使用 .NET 并具有与您的示例类似的语法。我开发的一个网站使用相同的语法并在 Django 上运行。 Rails 也使用相同的 url 模式......对于 Rails 应用程序。您可以看到相同的格式。例如:mysite.com/post/12【参考方案2】:您可以留意各种各样的事情,但它并不能真正让您确定网站背后的技术。通常,人们希望隐藏此类信息,因为暴露的信息越多,恶意方就越容易识别安全漏洞或拒绝服务漏洞。
如果我有兴趣,我可能会按以下顺序查看:
网址和文件扩展名。 HTTP 响应标头 cmets 或标准 JS 库的源代码顺便说一句,其他答案中提到的工具只是为您查看网站的上述一些属性,尽管是自动的,而且速度稍快。 :)
【讨论】:
有很多好的答案,所以我有点延迟选择一个被接受的答案,但这个最合适。它涵盖了可能在深入研究自动化工具之前使用的基本起点。【参考方案3】:您可以使用http://builtwith.com 来确定使用了哪种服务器和编程语言。例如,它告诉我 SO 使用 IIS7、谷歌分析、html4 和 utf8。
如果您想了解框架...那么仅通过查看该站点可能是不可能的。你为什么不给他们写一封电子邮件? ;)
【讨论】:
给他们写一封电子邮件,这对你来说是横向思维。好点子!我喜欢builtwith.com,只需要一些方法来为这个答案添加书签。干杯。 无法告诉 SO 在 IIS7 上构建,您是如何获得该信息的? @shababhsiddique:早在 2008 年就可以了。 如何同时隐藏我的网站信息?我还没有看到任何资源? @shababhsiddique:这是一个单独的问题,如果它还不存在,你应该正确地问它【参考方案4】:您可以使用 domaintools.com 来查找网站的服务器信息并确定它是否是开源/微软:
http://whois.domaintools.com/***.com
然后在页脚中查找诸如“由 WordPress 提供支持”或“vBulletin”等提示的问题。
【讨论】:
另一个很酷的工具,我需要找到一种在 SO 中添加书签的方法。我必须将这些链接添加到问题中。【参考方案5】:是的,对于常见的 CMS,如 Drupal、Joomla、Pligg 和 RoR 等,有一些明显的迹象 .. .. ASP.NET 的东西也很容易发现 .. 但随着框架变得越来越模糊,它变得越来越难以推断。 .
我通常会将我正在窥探的网站与我知道使用特定技术构建的另一个网站进行比较。这有时有效..
【讨论】:
【参考方案6】:大多数 ASP.NET 站点都可以通过 URL 中的 .aspx 轻松识别。 HTML 源代码中也有明显的迹象,例如名为 __VIEWSTATE
的隐藏表单字段或 WebResource.axd JavaScript。 HTML 元素通常具有以 _ctl0
之类的开头的 id 属性。
Rails 站点通常包含来自 /stylesheets 的样式表和来自 /javascripts 的 JavaScript 文件,并且每个 URL 通常都有一个包含时间戳的查询字符串以阻止缓存。表单字段通常遵循model_name[attribute_name]
的命名约定。
【讨论】:
【参考方案7】:我为 Firefox 使用了 1 个插件,它为我提供了托管网站的 IP 和国家/地区,它的 Web 服务器名称称为 Domain Details,对于 javascript 框架,我使用 WTFramework
我仍然想知道它是用什么脚本编写的,但这是一个开始:)
希望对你有帮助。
附:输出将是这样的:
alt text http://img88.imageshack.us/img88/2505/200812282328ha0.png
【讨论】:
很高兴您喜欢它 :) 您还可以单击此问题的声誉编号下方的“正确图标”,以便您可以根据需要将其标记为已接受的答案;) 您知道 Chrome 的域详细信息扩展程序吗? @Andrew 至少尝试过找到它?这是我在 Google 上搜索的第一个结果!【参考方案8】:转到Netcraft 并使用“该站点正在运行什么?”左上角的搜索框。点击此处查看Stack Overflow 上的报告。它不一定是正确的(例如,可能存在缓存或负载平衡),但它通常会为您提供所需的线索。
【讨论】:
【参考方案9】:有些人甚至可能故意掩盖他们使用的技术。毕竟,尽管我使用了 mysql,但我很快就可以调整 apache 以便“.asp”实际上运行 perl 脚本并将“由 Microsoft IIS 提供支持”放在我的页脚中。
这样一来,您将花费所有时间尝试使用它实际上没有的漏洞来入侵我的网站。
【讨论】:
【参考方案10】:检查网站提供的 cookie 可以揭示底层框架。例如,CodeIgniter 默认为一个告密的 ci_sessions cookie。使用 PEAR Auth 的站点会做类似的事情。
【讨论】:
【参考方案11】:http://www.quarkbase.com/是一个非常不错的工具和信息网站
【讨论】:
【参考方案12】:查看Chrome Sniffer,这是一个很棒的轻量级解决方案。
【讨论】:
不错的 chrome 扩展,截至 2014 年,它为您提供了非常完整的技术堆栈信息。这适用于 BuiltWith 扩展(最后一个为您提供更多与网络相关的信息)【参考方案13】:还有W3Techs,它向您展示了大部分信息。
【讨论】:
【参考方案14】:我使用允许确定网站使用的 CMS 的 WebParser (http://www.cybermake.com)。它允许确定多个网站的 CMS,也可以从搜索引擎中提取给定关键字列表的网站列表。强大的工具。
【讨论】:
【参考方案15】:在 Linux/OSX 中我经常使用简单的命令curl -sI www.site.com
【讨论】:
【参考方案16】:http://guess.scritch.org/ 为 CMS 执行此操作。
只需输入 URL,它就会尝试猜测 CMS。在这种情况下,它告诉我我的博客正在运行 wordpress 3.4.2(这是正确的,我刚刚检查过!)
【讨论】:
不好。只读取页面元标记... :(【参考方案17】:您可以使用http://builtbased.com/ 来确定使用了哪种服务器、框架和编程语言。
【讨论】:
【参考方案18】:http://www.similartech.com 是我们制作的一个新工具,它可以做到这一点并且非常漂亮地呈现它。
【讨论】:
以上是关于您如何确定网站建立在啥技术之上? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
Udemy 和 Upwork 建立在哪些技术之上? (用于网站和本机应用程序(Android 和 iOS)的技术)