前言:CdnCheck工具实现,记录下我这边实现的几个点
参考文章:https://github.com/projectdiscovery/cdncheck
参考文章:https://github.com/YouChenJun/CheckCdn
参考文章:https://github.com/zu1k/nali
参考文章:https://github.com/u9sky/cdn-cname-domain/blob/main/cdn.yml
cname识别
关于cname的识别的途径有下面几个点:
-
收集国内cdn云厂商的所有cname的域名
-
收集国内waf云厂商的所有cname的域名
-
收集国内负载运亨云厂商的所有cname的域名
云厂商cdn网段识别
- 收集云厂商
http识别
- 域名探测情况下,检测http响应包中的header字段以及body内容来识别是否存在cdn特征
兼容ip和域名的情况
- ip的
关于YouChenJun/CheckCdn
看完了projectdiscovery/cdncheck项目之后,其实整体对于cdn的检测是比较完善的了,该cdncheck支持ip和域名,如果是域名的话会先进行域名解析到ip,然后再进行相同的处理。
但是唯一的不足就是在规则库中并不支持国内的cdn厂商探测,在YouChenJun/CheckCdn项目中,作者将对域名的检测舍弃了,直接纯对ip进行检测cdn。
一方面是在projectdiscovery/cdncheck的基础上加了一些对国内的CDN的IP段,如下图所示
在这边进行检测ip是否属于cdn的ip段,如下图所示
另一方面通过在projectdiscovery/cdncheck的基础上加了一些对国内的cdn检测规则,通过国内云厂商的API接口调用来检测ip是否是cdn的情况