resyncgg/ripgen

GitHub: resyncgg/ripgen

基于 Rust 的高性能域名排列组合生成器,用于安全侦察中扩展子域名发现范围。

Stars: 299 | Forks: 34

# ripgen 基于 Rust 的热门 [dnsgen](https://github.com/ProjectAnte/dnsgen) Python 工具版本。 `ripgen` 分为两个主要部分: * **ripgen**:_一个调用 `ripgen_lib` 并使用 dnsgen 转换规则的 CLI 工具_。 * **ripgen_lib**:_一个允许你对域名创建高性能排列组合的库_。 # 如何安装! 安装 `ripgen` 非常简单 - 按照以下步骤操作。 ### 步骤 1 - rustup.rs 访问 https://rustup.rs/ 并按照说明开始使用 `rust` 和 `cargo`。 ### 步骤 2 - cargo install 运行 `cargo install ripgen` ## 如何使用 - `ripgen` `ripgen` 接受一个域名文件、一个字典文件以及一个最小词语长度参数(均为可选)。 如果未列出域名文件,则预期通过 `stdin` 传入域名,这使得从其他工具通过管道传入变得非常容易。 例如: ``` $ echo "www1.google.com" | ripgen ``` 与 dnsgen 行为的一个不同之处在于,如果未指定字典,则不会自动包含任何字典项。为了适当地比较 `ripgen` 和 `dnsgen`,你应该确保指定一个字典。 ## 如何使用 - `ripgen_lib` `ripgen_lib` 暴露了一个 `RipGenManager` 结构体,它接受三个组件: * 一个域名迭代器 * 一个字典条目迭代器 * 一个将 `&&str` 转换为 `bool` 的函数,用于过滤字典条目 创建 `RipGenManager` 后,可以使用 `transform` 和 `chain_transform` 添加转换。这些转换需要传入一个函数定义(闭包或其他形式),该函数能够接受 `&DomainComponent` 和 `WordListIterator` 类型,并返回一个 `Iterator`。 请查看非默认的 dnsgen 转换实现,以获取有关这些通常如何实现的示例。 # 常见问题 ## `linker 'cc' not found` 如果发生这种情况,意味着你需要要在系统上安装一些依赖项才能构建 `ripgen`。解决方法如下: ### Debian (Ubuntu, Kali, WSL (_你可能使用的是 Ubuntu_)) ``` sudo apt-get update sudo apt install build-essential ``` ### Arch ``` sudo pacman -S base-devel ``` ### Centos ``` sudo yum install gcc ``` ### Alpine ``` apk add build-base --no-cache ```
标签:DGA, dnsgen替代, DNS侦察, GitHub, Linux工具, PoC, ripgen, Rust, 可视化界面, 域名变异, 域名置换, 威胁情报, 安全测试, 库文件, 开发者工具, 攻击性安全, 数据展示, 文档结构分析, 暴力破解, 端口探测, 算法域名生成, 红队, 网络流量审计, 通知系统, 通知系统, 高性能计算