dvlinuxx-max/proxyscope

GitHub: dvlinuxx-max/proxyscope

一款带有 Web UI 的 HTTP/HTTPS 拦截调试代理,提供流量记录、HTTPS 解密、请求检查、重放与拦截功能。

Stars: 0 | Forks: 0

# proxyscope 一款带有 Web UI 的 HTTP/HTTPS 拦截代理,秉承了 Burp Suite 和 mitmproxy 的理念。将浏览器通过其进行路由,可以捕获每一个请求与响应, 实时解密 HTTPS,检查流量,重放并修改请求,以及在请求发出前暂停以便进行 手动审查。 请仅针对您拥有或已获授权测试的应用程序使用它。 ![proxyscope UI](https://static.pigsec.cn/wp-content/uploads/repos/cas/43/431b4f39a2d38b54769fcee6be827eeda9520135e1b37c91dbe57ca6e29f8040.jpg) ## 功能说明 - **代理 + 历史记录** - 转发 HTTP 和 HTTPS,并记录每一次流量(包括方法、 URL、状态码、耗时、 headers、 bodies)。 - **HTTPS 拦截** - 使用本地生成的 CA 充当中间人。它会为每个 host 实时 生成证书,因此一旦您信任了该 CA, 代理就可以读取 TLS 流量。 - **检查器** - 点击任意流量即可查看完整的请求与响应。 - **Repeater** - 将捕获的请求发送至可编辑表单,修改任意内容, 然后重放;其结果会重新出现在历史记录中。 - **拦截** - 开启拦截功能,将发出的请求暂停在队列中,编辑 body,然后逐个放行或丢弃。 ## 安装 ``` pip install -r requirements.txt # cryptography, for certificate generation ``` ## 运行 ``` python proxyscope.py # 或:python -m proxyscope ``` 它会启动两个服务器并打印出其地址: ``` proxyscope 1.0.0 proxy 127.0.0.1:8080 (set this as your browser's HTTP/HTTPS proxy) ui http://127.0.0.1:8081 ca cert C:\Users\you\.proxyscope\ca-cert.pem ``` 端口可配置:`--proxy-port`、`--ui-port`、`--host`、`--cert-dir`。 ## HTTPS 配置 1. 将您的浏览器(或系统)的 HTTP/HTTPS 代理指向 `127.0.0.1:8080`。 2. 从 UI 下载 CA 证书(点击 "download CA cert",或按照打印出的 路径获取),并将其作为受信任的根证书安装到您的浏览器/操作系统中。 3. 开始浏览。HTTPS 请求现在会在历史记录中显示为已解密状态。 如果不信任该 CA,您在访问 HTTPS 时将会收到证书警告——这正是 代理替换了其自身证书导致的,这也是此类工具的 工作原理。请仅在您控制的机器上安装该 CA,并在使用完毕后将其移除。 ## 工作原理 ``` proxyscope.py run without installing proxyscope/ cli.py starts the proxy and UI servers proxy.py forward proxy; CONNECT + per-host TLS MITM certs.py local CA and on-the-fly leaf certificates (cryptography) store.py thread-safe flow history and the intercept queue ui.py web UI, JSON API, repeater, CA download ``` 代理采用多线程(每个连接一个线程)。对于 HTTP,它会重写 absolute-form 请求并进行中继。对于 HTTPS,它会响应 `CONNECT`,出示 一个为目标 host 生成并由本地 CA 签名的证书,然后 在解密通道上使用 HTTP 通信,并通过真实的 TLS 转发至上游。 ## 限制 - 仅支持 HTTP/1.1;WebSocket 和 HTTP/2 帧会被透传或不支持,无法进行解析。 - 历史记录保存在内存中(有上限);除了 CA 和 按 host 划分的证书缓存外,不会向磁盘写入任何内容。 - 某些客户端(尤其是使用 schannel 的 Windows `curl`)不会信任 基于文件的 CA —— 请改为将 CA 安装在系统/浏览器证书存储中。 ## 环境要求 Python 3.9+ 和 `cryptography`(参见 `requirements.txt`)。 ## 许可证 MIT
标签:HTTPS中间人, Python, Web安全, 安全合规, 抓包工具, 无后门, 服务管理, 流量劫持, 网络代理, 蓝队分析, 逆向工具