Mac 系统安装 Xray
- 从 github 上下载 xray 发行版 https://github.com/chaitin/xray/releases
- 选择适合本 Mac 系统的版本,对目前的新版 Mac 来说,我们下载 xray_darwin_arm64.zip 这个版本
- 下载完成后,需要赋予 xray_darwin_arm64 执行权限,操作如下:
bash
chmod +x xray_darwin_arm64
- 然后下一步我们需要给 Mac 的终端开启 "全盘访问" (Full Disk Access) 权限

Xray启动时因macOS系统安全机制限制,终端应用默认无法访问受保护路径下的SQLite数据库文件,导致初始化失败并报错"unable to open database file: out of memory (14)",该错误实为I/O权限问题而非内存不足;通过在系统设置中为终端开启"全盘访问"权限并重启终端,程序即可正常读写数据库文件。
- 创建一个软链接,将 xray 命令添加到系统路径中
bash
ln -s /Users/username/Desktop/Scan-Tool/xray_darwin_arm64 /usr/local/bin/xray
Xray 的使用
1. 搭建靶场
这里我们使用一下这个老师做的 Java 靶场来测试 Xray 的使用。
- https://github.com/mysticbinary/WebBug
这个靶场的启动老师已经做在 Docker 中了,非常简单,博主这里就不重新写了。
这里就有一点需要注意的,在 Docker 启动这个靶场的话,为了让 webbug 和 mysql-db 容器能够相互通信,需要将 mysql 和 webbug 容器放在一个网络下启动。
2. 使用 Xray 进行扫描
主动扫描:
bash
xray webscan --basic-crawler http://ip:8080/ --html-output report.html
- basic-crawler: 启用基础爬虫,自动发现页面。
- html-output report.html: 将扫描结果生成一个可视化的 HTML 报告。
被动扫描
bash
./xray_darwin_arm64 webscan --listen 127.0.0.1:7777 --html-output proxy_report.html
- 运行上述命令后,Xray 会在本地 7777 端口启动一个代理。
- 将浏览器代理设置为 127.0.0.1:7777。
- 在浏览器中访问 http://47.104.184.55:8080/ 并进行操作,Xray 会自动分析流量并检测漏洞。