确定是否使用代理或缓存,可以通过 Header 中 Via 字段做简要判断,如该请求包中使用了 Squid 代理
$ nc www.godeye.vip 80
GET / HTTP/1.0
HTTP/1.0...COPY, MOVE, MKCOL, PROPFIND, PROPPATCH, LOCK, UNLOCK, SEARCH
Allow: OPTIONS, TRACE, GET, HEAD, DELETE, PUT...语言识别:
开发语言各有不同,有使用各种语言或者框架开发,大部分语言都有属于自己的一些特性,比如在 Header 请求响应头中会包含
X-Powered-By: ASP.NET
X-AspNet-Version...Lotus Domino Lotus Domino server
.jsp Java...相关防御技术可以参考 rfc2616 官方文档,文档中描述了如何隐藏规避这些特征。