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, 可视化界面, 域名变异, 域名置换, 威胁情报, 安全测试, 库文件, 开发者工具, 攻击性安全, 数据展示, 文档结构分析, 暴力破解, 端口探测, 算法域名生成, 红队, 网络流量审计, 通知系统, 通知系统, 高性能计算