怎么知道一个网站是由 ASP 、PHP 或者 .NET 开发的?
程序员文章站
2022-06-04 19:58:20
...
回复内容:
还有一个办法,看网站找什么开发语言的工程师。 这个事情就像是分辨一个人是男的还是女的一样,有很多的性别特征可以帮助我们,例如头发长短(短发女士不适合),胸部大小(小学生不适合),衣着(中性服饰不适合),声音(女低音不适合)。但无论如何,你还是很难分辨出伪娘(故意伪装成其他技术)。除了扒掉他们的衣服(黑客入侵服务器)。 少些在地址栏的网址后缀名判断.net的是.aspx和.asp,java的是.jsp,php的是.php,多些用抓包工具查看IE7以上浏览器集成了这个工具,Chrome,火狐(下载FireBug),快捷键都是F12,看请求的头部。 很多时候请求的头部中也没有X-Powered-By,这种情况下可以看错误页面的信息判断,但是大多网站都多错误页面进行了设计,其实就是就算页面你可看到是用什么做的但是你也不会知道底层到底什么语言写的比如最大的社交网站facebook,页面时用php但是底层都是用c++等语言写的。 浏览器装个wappalyzerhttp://wappalyzer.com/ 相应页面的脚本后缀名是最常见的特征:.NET 是 xxx.aspx、ASP 是 xxx.asp、PHP 是 xxx.php……
但是理论上 Web 站点完全有可能利用技术手段掩盖其一切内部技术细节 (若条件允许也应该这么做) ——「URL 重写」就是很常见的技术
如果遇到这样的站点,除了直接问网站运营团队询问之外,别无他法
而通常情况下,总能通过一些网站开发者遗漏的蛛丝马迹获得其运行平台的特征
一般说来,我会首先使用的方式是——「人为制造异常」,诱使服务器产生异常信息或明显经过服务器脚本解释过的错误结果页面
比如输入一个不存在的页面地址,此地址的页面后缀名与各平台默认的脚本后缀名对应(见第一行)
当然,一个制作完善的网站网站可能使用「自定义异常处理」并向浏览器最终输出与其他「非脚本解释错误」(比如 Web 服务器通用 404 错误)相似的结果以掩盖之 Chrome 有一个插件叫sniffer,记不清是不是叫这个,但是搜sniffer肯定能找到,装完之后会在地址栏上显示网站使用到的一些框架和使用的语言,个人感觉很好用 大公司看招聘广告。
小公司看Response Headers。 一个是url的扩展名;
另外一个就是,使用http的抓包工具,看响应头;比如ie的httpwatch fiddler, firefox的firebug等等;
---
如果别人网站隐藏的够好的话,目前我所了解的,应该都看不了;
最直观的方法是看后缀名,不过这个东西是可以随意改变的,而且很多人都喜欢改。
----------------
其他办法:
用 firebug 看网页 header 信息中的 server 值,IIS 的话一般是 asp 或者 aspx , apache/ngnix 的话一般是 php , tomcat 一般是 jsp ,等等。
----------------
当然这都不是绝对的,有心想隐藏的话你是看不出来的。 从技术角度上讲,是可以完全掩盖的,但从实际角度讲,大多数都没掩盖。除了少数大型的站点。
方法如上面几位讲的,看主机头,看服务器,看错误提示方式,甚至看站点挂掉的时候报错信息。如果了解三种开发语言,甚至可以从页面源代码中找到不同的编码习惯。