如何确定网站是基于什么技术构建的?
我经常遇到一个外观漂亮或功能齐全的网站,并想知道它是使用什么技术创建的。 有哪些技术可以用来确定什么是 特定网站是用什么构建的?
似乎很少有框架像 Web 编辑器那样包含任何类型的生成器元标记。 是否有任何特定语言和/或框架的明显迹象?
答案摘要
站点 URL 可能会泄露框架和/或编程语言,但不能依赖(例如 .asp 等文件扩展名)。 HTTP 响应标头、cookie、样式表和源注释也可能提供线索。
一些用于查询网站详细信息的好工具(毫无疑问还有更多):
Firefox 插件:
- Wappalyzer - CMS、框架/库、电子商务、留言板等。
- 域名详细信息 - IP、国家/地区和网络服务器详细信息
- Library Detector -
Chrome 扩展中使用的 Javascript 库:
书签:
- WTFramework - 显示正在使用的 Javascript 框架
Quite often I come across a nice looking or functional website, and wonder what technology was used to create it. What techniques are available to figure out what a
particular website was built with?
Few frameworks seem to include any kind of generator meta tag like web editors do. Are there any tell-tale signs of particular languages and/or frameworks?
Summary of answers
Site URLs may betray the framework and/or programming language but cannot be relied upon (e.g. file extensions such as .asp). HTTP response headers, cookies, stylesheets and source comments may also give clues.
Some nice tools for querying site details (no doubt there are many more):
Firefox addons:
- Wappalyzer - CMS, frameworks/libraries, e-commerce, message boards etc.
- Domain Details - IP, country and webserver details
- Library Detector - Javascript libraries in use
Chrome Extensions:
Bookmarklets:
- WTFramework - shows Javascript framework in use
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(18)
您可以使用 http://builtwith.com 来确定使用了哪种服务器和编程语言。 例如,它告诉我 SO 使用 IIS7、谷歌分析、html4 和 utf8。
如果您想了解框架……那么仅仅通过查看网站可能是不可能的。 你为什么不给他们写封电子邮件呢? ;)
You could use http://builtwith.com to figure out which server and programming language was used. For example it told me that SO uses IIS7, google analytics, html4 and utf8.
If you want to know the framework...well that will probably not be possible just from looking at the site. Why don't you write them an email? ;)
您可以注意各种各样的事情,但它并不能真正为您提供有关网站背后技术的任何确定性。 一般来说,人们会想要隐藏此类信息,因为暴露的信息越多,恶意方就越容易识别安全漏洞或拒绝服务漏洞。
如果我感兴趣,我可能会查看(不按特定顺序):
顺便说一句,其他答案中提到的工具只是为您查看网站的上述一些属性,尽管是自动的,而且速度稍快一些。 :)
There are all sorts of things you can look out for, but it doesn't really give you any certainty as to the technology behind a site. In general, information like that is something people will want to hide, as the more information that is exposed the easier it might be for malicious parties to identify security vulnerabilities or denial of service holes.
If I was interested I'd probably look, in no particular order, at:
Incidentally, the tools mentioned in other answers are only looking at some of the above properties of the site for you, albeit automatically, and slightly quicker. :)
我使用 1 个 Firefox 插件,它为我提供托管网站的 IP 和国家/地区,其 Web 服务器名称名为 域详细信息,对于 javascript 框架,我使用 WTFramework
我仍然想知道它是用什么脚本编写的,但它是一个开始:)
希望它有所帮助。
PS输出将是这样的:
alt text http://img88.imageshack.us/ img88/2505/200812282328ha0.png
I use 1 plug in for Firefox that gives me the IP and country for the hosting website and it's Web Server name called Domain Details, and for javascript framework I use WTFramework
I still need to wonder what script it was written on, but it is a start :)
Hope it helps.
P.S. the output will be something like this:
alt text http://img88.imageshack.us/img88/2505/200812282328ha0.png
URL 可以提供很多线索,尤其是对于内容管理系统。
例如“http://abcxyz.com/node/46”看起来很多就像德鲁帕尔一样。
此外,许多框架都有它们使用的标准 JavaScript 和 CSS 文件。
URLs can give a lot of clues, especially with Content Management Systems.
For example "http://abcxyz.com/node/46" looks a lot like Drupal.
Also many frameworks have standard JavaScript and CSS files they use.
有些人甚至可能故意掩盖他们使用的技术。 毕竟,我不会花很长时间来调整 apache,以便“.asp”实际上运行 perl 脚本,并将“由 Microsoft IIS 提供支持”放入我的页脚中,尽管我使用的是 MySQL。
这样你就会花费所有的时间尝试使用我的网站实际上并不存在的漏洞来攻击它。
Some people might even deliberately obscure the technology they use. After all, it wouldn't take me long to tweak apache so that ".asp" actually ran perl scripts and put "powered by Microsoft IIS" into my footer despite the fact I used MySQL.
That way you'd spend all your time trying to hack my site using vulnerabilities it doesn't actually have.
请查看 Chrome Sniffer,这是一款出色的轻量级解决方案。
Check out Chrome Sniffer, a great light-weight solution.
检查网站提供的 cookie 可以揭示底层框架。 例如,CodeIgniter 默认为一个泄露秘密的 ci_sessions cookie。 使用 PEAR Auth 的网站也会做类似的事情。
Examining the cookies the site gives can reveal the underlying framework. CodeIgniter, for example defaults to a telltale ci_sessions cookie. Sites using PEAR Auth will do something similar.
我使用 WebParser (http://www.cybermake.com) 来确定网站使用的 CMS。 它允许确定多个网站的 CMS,并且可以从搜索引擎中提取给定关键字列表的网站列表。 功能强大的工具。
I use WebParser (http://www.cybermake.com) that allows to determine the CMS used by a website. It allows to determine CMS for multiple websites as well as it can pull the list of websites from the search engines for a given list of keywords. Powerful tool.
http://guess.scritch.org/ 为 CMS 执行此操作。
只需输入 URL,它就会尝试猜测 CMS。 在这种情况下,它告诉我我的博客正在运行 WordPress 3.4.2(这是正确的,我刚刚检查过!)
http://guess.scritch.org/ does this for CMSs.
Just pop in the URL and it'll try to guess the CMS. In this case it tells me my blog is running wordpress 3.4.2 (which is correct, I just checked!)
大多数 ASP.NET 站点都可以通过 URL 中的 .aspx 轻松识别。 HTML 源代码中也有一些明显的迹象,例如名为
__VIEWSTATE
的隐藏表单字段或 WebResource.axd JavaScript。 HTML 元素通常具有以_ctl0
开头的 id 属性。Rails 站点通常会包含来自 /stylesheets 的样式表和来自 /javascripts 的 JavaScript 文件,并且每个 URL 通常都会有一个包含时间戳的查询字符串以阻止缓存。 表单字段通常遵循
model_name[attribute_name]
的命名约定。Most ASP.NET sites are easy to identify from the .aspx in the URLs. There are also telltale signs in the HTML source, like a hidden form field named
__VIEWSTATE
or the WebResource.axd JavaScript. HTML elements will often have id attributes starting with something like_ctl0
.Rails sites will usually include stylesheets from /stylesheets and JavaScript files from /javascripts and each URL will usually have a query string containing a timestamp to thwart caching. Form fields will often follow the naming convention of
model_name[attribute_name]
.您可以使用 http://builtbased.com/ 来确定使用了哪种服务器、框架和编程语言。
You could use http://builtbased.com/ to figure out which server, framework and programming language was used.
http://www.similartech.com 是我们制作的一个新工具,它可以做到这一点,并且呈现得非常好。
http://www.similartech.com is a new tool we made, that does just that and presents it very nicely.
您可以使用domaintools.com查找网站的服务器信息并缩小范围以确定其是否开源/Microsoft:
http://whois.domaintools.com/stackoverflow.com
之后,只需在页脚中查找“由 WordPress 提供支持”或“vBulletin”等提示即可。
You can use domaintools.com to lookup the server information for a website and narrow down to whether it's open source / Microsoft:
http://whois.domaintools.com/stackoverflow.com
And after that it's a matter of looking in the footer for tip-offs such as "Powered by WordPress" or "vBulletin" etc.
是的,常见的 CMS 有一些明显的迹象,如 Drupal、Joomla、Pligg 和 RoR 等 .. .. ASP.NET 的东西也很容易发现 .. 但随着框架变得更加模糊,它变得更难推断 ..
我什么通常是将我正在窥探的网站与我知道是使用特定技术构建的另一个网站进行比较。 这有时有效..
yes there are some telltale signs for common CMSs like Drupal, Joomla, Pligg, and RoR etc .. .. ASP.NET stuff is easy to spot too .. but as the framework becomes more obscure it gets harder to deduce ..
What I usually is compare the site i am snooping with another site that I know is built using a particular tech. That sometimes works ..
转到 Netcraft 并使用“该网站正在运行什么?” 左上角的搜索框。 单击此处查看有关 Stack Overflow 的报告。 它不一定是正确的(例如,可能存在缓存或负载平衡),但它通常会为您提供所需的线索。
Go to Netcraft and use the "What's that site running?" search box in the top left corner. Click here for the report on Stack Overflow. It won't necessarily be correct (e.g., there could be caching or load balancing in the way), but it often gives you the clue you need.
还有 W3Techs,它向您展示了很多此类信息。
There is also W3Techs, which shows you much of that information.
在 Linux/OSX 中,我经常使用简单的命令
curl -sI www.site.com
In Linux/OSX I often use simple command
curl -sI www.site.com
http://www.quarkbase.com/是一个非常好的工具和信息网站
http://www.quarkbase.com/ is a very nice tool and information website