伊谢尔伦2017-05-16 17:05:58
谢谢 @精英王子 提到了我的项目:https://github.com/justjavac/ChromeSnifferPlus 感兴趣的可以直接去查看源码。
不少的网站会在 meta 添加框架的信息,比如 Joomla、XOOPS、MediaWiki 会添加 generator;phpBB 会添加 copyright;Avactis 会添加 author。通过这些可以探测网站使用的建站系统,从而知道使用的语言。
和上面的一样,探测网站使用的建站系统,从而知道使用的语言。
通过 header 信息的 x-powered-by 等可以探测后台使用的语言
根据传递 session id 的 cookie,比如 PHP 使用的会话ID是 PHPSESSID,JSP 使用的会话 ID 是 JSESSION。
通过 error page 也可以看到很多信息。比如订票网站就是 Java 开发的。
包括 url 的结构,静态文件的结构等,如果使用了开发框架或者 CMS 系统,这些目录结构都有一定的规则。
可以用正则去匹配 HTML 代码,找出 copyright、powered by,进而得知使用的语言。
通过 404 或者 header 信息,得出 server 信息,进而得知编程语言,比如 nodejs、tomcat等。
PHP中文网2017-05-16 17:05:58
这个是个比较复杂的问题。
对于 url 有后缀的来说,再简单不过了,.php 的自然是 php 开发的,asp, aspx 一样的道理,当然还有比如 .action .do 什么的,一般都是 java
这个不同的开发框架差异还是比较大的,比如 rails 会将 js 压缩成 application-7fds7afds98afdsa8.js 类似的样子, django 等框架也有自己的命名规则。
有些比较二的页面,你在页面上胡乱整下,故意做些错误的提交,也许会冒出来报错页面,上面可能会有你要的东西(不过会有这种情况的网站,参考价值也不大)
看 footer 里面的 powerd by ,如果是使用现在工具搭建的网站,会有比如 powerd by wordpress, powered by django 之类的吧。
如果该网站有招骋的栏目,看看他们在招什么样的开发人员,也能猜出一二。
世界只因有你2017-05-16 17:05:58
理论上你不可能百分百正确地通过客户端与服务端后台的交互来判断出后台的开发语言, 因为语言的图灵等价, 另外一种不同的语言也可以开发出表现一样的后台出来. 可以向这个后台的相关人打听他们使用的语言.
对于一些语言的网络框架, 也可以通过抓取 HTTP 数据流, 根据 HTTP 首部字段 server 来判断使用了什么框架, 进而判断出使用了什么语言.
巴扎黑2017-05-16 17:05:58
这个很难全部都准确的得到结果吧,无论是URL还是任何东西都可以改变,只是说可以根据经验大概猜测一下,当然没有做任何处理的,比如 xx.php 是可以知道的。。