
从 AlienVault's Open Threat Exchange、Wayback Machine 和 Common Crawl 获取已知 URL。
getallurls (gau) 从 AlienVault 的 Open Threat Exchange、Wayback Machine、Common Crawl 和 URLScan 获取给定域名的已知 URL。灵感来源于 Tomnomnom 的 waybackurls。
示例:
$ printf example.com | gau
$ cat domains.txt | gau --threads 5
$ gau example.com google.com
$ gau --o example-urls.txt example.com
$ gau --blacklist png,jpg,gif example.com
使用 -h 标志显示工具的帮助信息:
$ gau -h
| 标志 | 描述 | 示例 |
|---|---|---|
--blacklist | 要跳过的扩展名列表 | gau --blacklist ttf,woff,svg,png |
--config | 使用替代配置文件(默认为 $HOME/config.toml 或 %USERPROFILE%\.gau.toml) | gau --config $HOME/.config/gau.toml |
--fc | 要过滤的状态码列表 | gau --fc 404,302 |
--from | 从指定日期开始获取 URL(格式:YYYYMM) | gau --from 202101 |
--ft | 要过滤的 MIME 类型列表 | gau --ft text/plain |
--fp | 移除同一端点的不同参数 | gau --fp |
--json | 以 JSON 格式输出 | gau --json |
--mc | 要匹配的状态码列表 | gau --mc 200,500 |
--mt | 要匹配的 MIME 类型列表 | gau --mt text/html,application/json |
--o | 结果写入的文件名 | gau --o out.txt |
--providers | 要使用的提供者列表(wayback,commoncrawl,otx,urlscan) | gau --providers wayback |
--proxy | 使用的 HTTP 代理(socks5:// 或 http://) | gau --proxy http://proxy.example.com:8080 |
--retries | HTTP 客户端的重试次数 | gau --retries 10 |
--timeout | HTTP 客户端的超时时间(秒) | gau --timeout 60 |
--subs | 包含目标域名的子域名 | gau example.com --subs |
--threads | 生成的 workers 数量 | gau example.com --threads |
--to | 获取截至指定日期的 URL(格式:YYYYMM) | gau example.com --to 202101 |
--verbose | 显示详细输出 | gau --verbose example.com |
--version | 显示 gau 版本 | gau --version |
gau 会自动在 $HOME/.gau.toml 或 %USERPROFILE%\.gau.toml 查找配置文件。你可以使用 --config 标志指向其他配置文件。如果未找到配置文件,gau 仍会使用默认配置运行,但会向 stderr 输出一条消息。
你可以指定选项,这些选项将在每次运行 gau 时生效。通过命令行标志提供的任何选项都会覆盖配置文件中设置的选项。
示例配置文件可以在此处找到。
$ go install github.com/lc/gau/v2/cmd/gau@latest
git clone https://github.com/lc/gau.git; \
cd gau/cmd; \
go build; \
sudo mv gau /usr/local/bin/; \
gau --version;
你可以从 releases 页面下载预编译的二进制文件,然后将其移动到你的 $PATH 中。
$ tar xvf gau_2.0.6_linux_amd64.tar.gz
$ mv gau /usr/bin/gau
你可以通过 Docker 运行 gau,如下所示:
docker run --rm sxcurity/gau:latest --help
你也可以使用以下命令构建 Docker 镜像:
docker build -t gau .
然后运行它:
docker run gau example.com
请注意,管道命令(echo "example.com" | gau)在 Docker 容器中无效。
ohmyzsh 的 git 插件 有一个别名,将 gau 映射为 git add --update 命令。这会导致冲突,使本工具 "gau" 与 zsh 插件别名 "gau"(git add --update)产生二进制冲突。当前有几种解决方法,详见此 GitHub issue。