1 个不稳定版本
0.1.0 | 2023年3月30日 |
---|
#13 在 #ssl-certificate
68KB
443 行
| 文档
CFD 是一个工具,允许您检查一个或多个域名是否由 CloudFlare 保护。检查基于五个标准:HTTP 响应中的 3 个头部、IP 和 SSL 证书颁发者。检查结果可以显示在屏幕上或保存到文件中。
需求
要使用 Cfd,您需要安装 Cargo 和 Rust。只需将以下内容粘贴到终端窗口中
curl https://sh.rustup.rs -sSf | sh
cargo install cfd
用法
cfd [OPTIONS] <TARGET>
参数
<TARGET> A domain, domains divided by newline char or a file with domains.
标志
-h, --help Prints help information
-V, --version Prints version information
选项
-d Outputs a detailed result for each domain based on five checks.
-f Outputs only domains without Cloudflare presence.
-o <OUTPUT> The path to the folder where the cfd_report.{txt or csv} file will be stored. If a file won't be specified, output will be printed to stdout. If the detailed flag is set, the output will include checking details.
-h, --help Print help
-V, --version Print version
用法示例
每个示例都将使用以下域名集进行展示:cloudflare.com,example0.com,example1.com,example2.com
1. 不详细且未过滤的输出。如果您通过 -o
选项提供输出文件夹,则结果将以 cfd_report.csv
格式写入
cfd resources/cfd_work.txt
输出
2. 详细且未过滤的输出到标准输出。如果您通过 -o
选项提供输出文件夹,则结果将以 cfd_report.csv
格式写入
cfd resources/cfd_work.txt -d
输出
3. 详细且过滤的输出到标准输出。如果您通过 -o
选项提供输出文件夹,则结果将以 cfd_report.csv
格式写入
cfd resources/cfd_work.txt -d -f
输出
4. 详细且过滤的输出到标准输出。如果您通过 -o
选项提供输出文件夹,则结果将以 cfd_report.txt
格式写入
cfd resources/cfd_work.txt -f
输出
cloudflare.com
example1.com
代码示例
复杂检查
use cfd::run;
#[tokio::main]
async fn main(){
let target = "example.com\ncloudflare.com";
let checker = run(target.to_string()).await.unwrap();
assert_eq!(checker.cf_detected_domains().await.len() == 1, true);
}
检查 IP 是否属于 Cloudflare IP 范围
use cfd::cf_ips::CFIPs;
#[tokio::main]
async fn main(){
let cf_ips = CFIPs::load().await.unwrap();
assert!(cf_ips.check_ip_v4("131.0.72.1"));
}
捐赠
BTC: bc1qwp5pfsqeu0m00jsrsslv76j7x5jkv3z96wm0lz
BuyMeACoffee: https://www.buymeacoffee.com/arg2u
许可证
MIT
依赖关系
~19–31MB
~578K SLoC