Crawlergo安装全流程
Crawlergo 简介
Crawlergo
是一款强大的动态网页爬虫,内置了一个完整的浏览器(Chromium),可以像真人用户一样执行JavaScript、加载动态内容、处理 AJAX 请求和单页应用(SPA)。
能从 HTML中提取链接
,通过监听浏览器网络请求来捕获所有可能产生的 URL,包括:JS文件中的接口(API)地址、静态资源(图片、CSS、字体)、表单提交的目标地址、WebSocket 连接等等。
支持自动填写表单、模拟点击等操作。 支持协程并发,可以同时打开多个浏览器标签页进行爬取。 可以作为后续漏洞扫描(如 SQL注入、XSS、越权等)的输入目标。
用于爬取那些严重依赖 JavaScript 渲染的网站,例如 React、Vue.js、Angular 构建的单页应用,传统的基于 HTTP 请求的爬虫无法获取这些站点的内容。
简易下载安装
# 在你的工作目录(例如 ~/crawlergo_workspace)中操作
mkdir crawlergo
cd /home/kali/crawlergo/
#直接下载预编译好的二进制文件,省去编译的麻烦
wget https://github.com/Qianlitp/crawlergo/releases/download/v0.4.0/crawlergo_linux_amd64.zip
unzip crawlergo_linux_amd64.zip
chmod +x crawlergo
# 然后就可以直接运行了
#测试
./crawlergo -c /usr/bin/chromium https://example.com
如果需要安装最新版可以使用下面另外一个方法
下载源文件,使用go环境编译为可运行的二进制文件
1.下载源文件
1.github官网下载Crawlergo.zip源代码
2.打开liunx的shell运行下面的命令也可以得到源文件
git clone https://github.com/Qianlitp/crawlergo
2.安装依赖环境
crawlergo 是用 Go 语言编写的,因此需要先安装 Go 编译器。
sudo apt install golang-go -y
# 验证安装是否成功,查看 Go 版本
go version
安装Chromium
crawlergo 依赖 Chromium 浏览器来渲染页面。
where chromium #查看是否已经安装
#一般在: /usr/bin/chromium
sudo apt install chromium -y
#安装 Chromium
编译 crawlergo
# 到下载的crawlergo文件夹下方
cd /home/kali/crawlergo/crawlergo-master/cmd/crawlergo
# 使用 go mod 初始化并下载项目依赖
go mod init crawlergo
go mod tidy
# 开始编译(这会生成一个名为 'crawlergo' 的可执行文件)
go build
如果使用go命令报错go: github.com/chromedp/cdproto@v0.0.0-20220629234738-4cfc9cdeeb92: Get "https://proxy.golang.org/github.com/chromedp/cdproto/@v/v0.0.0-20220629234738-4cfc9cdeeb92.mod": dial tcp 142.250.73.113:443: connect: connection refused
Go 无法访问官方的模块代理服务器(proxy.golang.org) 来下载依赖。在中国大陆或某些网络环境下,这很常见。
将 Go 的代理地址设置为国内的镜像站,速度更快且稳定。
# 设置 GOPROXY 使用国内七牛云代理
go env -w GOPROXY=https://goproxy.cn,direct# 也可以使用阿里云代理
# go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct# 设置 GOSUMDB 为关闭或国内校验sum.golang.google.cn(可选,但建议设置以避免校验失败)
go env -w GOSUMDB=off
验证
# 查看 crawlergo 的帮助信息
./crawlergo --help# 尝试简单的爬取测试 (使用 -c 指定刚才找到的 chromium 路径)
./crawlergo -c /usr/bin/chromium --help
./crawlergo -c /usr/bin/chromium https://example.com
常见用法
#crawlergo用法
./crawlergo -c <Chromium路径> [参数] <目标URL># 使用 -o plain 参数只输出URL,然后重定向到文件
./crawlergo -c /usr/bin/chromium -t 10 -o plain https://example.com > target_urls.txt#-t 10: 使用 10 个标签页并发,加快速度。
#-o plain: 指定输出格式为纯 URL 列表。
#> target_urls.txt: 将终端输出重定向(保存)到 target_urls.txt 文件。#输出详细的 JSON 结果
./crawlergo -c /usr/bin/chromium -t 10 -o json https://example.com > detailed_results.json#可以将他和其他强大的扫描器联动,形成自动化,进行漏洞扫描