介绍
cdncheck 是一个用于识别与 IP 地址相关的 CDN、云和 WAF 技术的实用程序。它提供了丰富的功能和易于使用的界面,帮助用户精准地检测指定 IP 地址所使用的技术类型。
功能特点
- CDN、云和 WAF 检测:能够准确识别指定 IP 地址所使用的 CDN、云和 WAF 技术。
- 易于使用:提供简洁的命令行界面,用户可以轻松地指定 IP 地址进行检测。
- 易于扩展的提供商:支持灵活的提供商列表扩展,用户可以根据需要添加新的 CDN、云和 WAF 提供商。
- 支持多种输入方式:支持 IP 和 DNS 输入,用户可以根据需要指定待检测的地址类型。
- 多种输出格式:支持文本和 JSONL 格式的输出,用户可以选择合适的输出格式。
- 输出过滤器:提供输出过滤功能,用户可以根据需求过滤输出结果。
安装
安装 Go 1.19 或更新版本。
使用以下命令安装最新版本:
<code>go install -v github.com/projectdiscovery/cdncheck/cmd/cdncheck@latest</code>
用法示例
显示工具帮助信息:
<code>cdncheck -h</code>
对指定 IP 地址进行检测:
<code>cdncheck -i <IP地址></code>
仅显示 CDN 类型的检测结果:
<code>cdncheck -cdn -i <IP地址></code>
如何添加新的提供商?
用户可以根据需要添加新的 CDN、云和 WAF 提供商,具体步骤如下:
- 打开
provider.yaml
文件。 - 在相应的部分添加新的提供商信息。
- 提交更改并将其推送到 GitHub 上的存储库。
作为库的使用
cdncheck 还可以作为库使用,方便开发者在自己的代码中集成。以下是一个简单的示例:
<code>package main import ( "fmt" "net" "github.com/projectdiscovery/cdncheck" ) func main() { client := cdncheck.New() ip := net.ParseIP("173.245.48.12") // 检测 IP 是否在 CDN 中 matched, val, _ := client.CheckCDN(ip) if matched { fmt.Printf("%v is a %v\n", ip, val) } else { fmt.Printf("%v is not a CDN\n", ip) } // 检测 IP 是否在云服务中 matched, val, _ = client.CheckCloud(ip) if matched { fmt.Printf("%v is a %v\n", ip, val) } else { fmt.Printf("%v is not a Cloud\n", ip) } // 检测 IP 是否在 WAF 中 matched, val, _ = client.CheckWAF(ip) if matched { fmt.Printf("%v WAF is %v\n", ip, val) } else { fmt.Printf("%v is not a WAF\n", ip) } }</code>
项目地址
https://github.com/projectdiscovery/cdncheck
© 版权声明
THE END
暂无评论内容