Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
proxify — 一个多功能便携式代理,用于随时随地捕获、操控和重放HTTP/HTTPS流量。 | Kitploit
工具/GitHubGitHub/projectdiscovery/proxify
数据包嗅探与分析Web代理与拦截Web安全渗透测试Web代理与拦截 分类第 3 名
GitHubprojectdiscovery/proxify

proxify

一个多功能便携式代理,用于随时随地捕获、操控和重放HTTP/HTTPS流量。

查看仓库
3.1k26891年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

proxify

特征 • 安装 • 用法 • 运行 Proxify • 安装 SSL 证书 • Proxify 的应用 • 加入 Discord

瑞士军刀式代理,用于快速部署。支持多种操作,如请求/响应转储、通过 DSL 语言进行过滤和操纵,以及上游 HTTP/Socks5 代理。 此外,重放工具允许将转储的流量(具有正确域名的请求/响应)导入 BurpSuite 或任何其他代理,只需将上游代理设置为 proxify 即可。

特征

proxify

  • 拦截/操纵 HTTP/HTTPS 和 非 HTTP 流量
  • 隐形和厚客户端 流量代理支持
  • 使用客户端/服务器证书的 TLS MITM 支持
  • 上游代理的 HTTP 和 SOCKS5 支持
  • 流量 匹配/过滤和替换 DSL 支持
  • 完整流量转储到文件(请求/响应)
  • 原生嵌入式 DNS 服务器
  • 插件支持,用于解码特定协议(例如 XMPP/SMTP/FTP/SSH/)
  • Proxify 流量在 Burp 中重放

安装

下载即用型二进制文件 或使用 GO 安装/构建

root@kitploit:~
go install -v github.com/projectdiscovery/proxify/cmd/proxify@latest

用法

root@kitploit:~
proxify -h

这将显示工具的帮助信息。以下是其支持的所有开关。

root@kitploit:~
瑞士军刀式代理,用于快速部署。支持多种操作,如请求/响应转储、通过 DSL 语言进行过滤和操纵,以及上游 HTTP/Socks5 代理

用法:
  ./proxify [flags]

标志:
输出:
   -sr, -store-response        将原始 HTTP 请求/响应存储到输出目录(默认为 proxify_logs)
   -o, -output                 存储 proxify 日志的输出文件(默认为 proxify_logs.jsonl)
   -of, -output-format string  输出格式(jsonl/yaml)(默认为 "jsonl")
   -dump-req                   仅将 HTTP 请求转储到输出文件
   -dump-resp                  仅将 HTTP 响应转储到输出文件
   -oca, -out-ca string        生成并保存 CA 文件到文件名

更新:
   -up, -update                 将 proxify 更新到最新版本
   -duc, -disable-update-check  禁用自动 proxify 更新检查

过滤:
   -req-fd, -request-dsl string[]                   请求过滤 DSL
   -resp-fd, -response-dsl string[]                 响应过滤 DSL
   -req-mrd, -request-match-replace-dsl string[]    请求匹配替换 DSL
   -resp-mrd, -response-match-replace-dsl string[]  响应匹配替换 DSL

网络:
   -ha, -http-addr string    监听 HTTP IP 和端口地址(ip:port)(默认为 "127.0.0.1:8888")
   -sa, -socks-addr          监听 SOCKS IP 和端口地址(ip:port)(默认为 127.0.0.1:10080)
   -da, -dns-addr string     监听 DNS IP 和端口地址(ip:port)
   -dm, -dns-mapping string  域名到 IP 的 DNS 映射(例如 domain:ip,domain:ip,..)
   -r, -resolver string      要使用的自定义 DNS 解析器(ip:port)

代理:
   -hp, -http-proxy string[]    上游 HTTP 代理(例如 http://proxy-ip:proxy-port)
   -sp, -socks5-proxy string[]  上游 SOCKS5 代理(例如 socks5://proxy-ip:proxy-port)
   -c int                       切换到下一个上游代理前的请求数(默认为 1)

导出:
   -max-size int  最大导出数据大小(请求/响应将被截断)(默认为 9223372036854775807)

配置:
   -config string              proxify 配置文件的路径
   -ec, -export-config string  proxify 导出模块配置文件(默认为 "$CONFIG/export-config.yaml")
   -config-directory string    覆盖默认配置路径(默认为 "$CONFIG/proxify")
   -cert-cache-size int        要缓存的证书数量(默认为 256)
   -a, -allow string[]         允许进行代理的 IP/CIDR 列表
   -d, -deny string[]          拒绝进行代理的 IP/CIDR 列表
   -pt, -passthrough string[]  透传域名列表

调试:
   -nc, -no-color      无颜色
   -version            版本
   -silent             静默
   -v, -verbose        详细
   -vv, -very-verbose  非常详细

运行 Proxify

在端口 8888 上运行 HTTP 代理:

root@kitploit:~
proxify

在自定义端口 1111 上运行 HTTP 代理:

root@kitploit:~
proxify -http-addr ":1111"

TLS 透传

-pt 标志可用于透传(跳过)加密流量,而不尝试终止 TLS 连接。

root@kitploit:~
proxify -pt '(.*\.)?google\.co.in.*'

Proxify 与上游代理

在端口 8888 上运行 HTTP 代理,并将流量转发到端口 8080 上的 burp:

root@kitploit:~
proxify -http-proxy http://127.0.0.1:8080

在端口 8888 上运行 HTTP 代理,并将流量转发到 TOR 网络:

root@kitploit:~
proxify -socks5-proxy 127.0.0.1:9050

转储所有 HTTP/HTTPS 流量

Proxify 支持三种输出格式:JSONL、YAML 和 文件。

JSONL(默认):

在 Json Lines 格式中,每个 HTTP 请求/响应对都作为一行中的一个 JSON 对象存储。

root@kitploit:~
{"timestamp":"2024-02-20T01:56:49+05:30","url":"https://scanme.sh:443","request":{"header":{"Connection":"close","User-Agent":"curl/8.1.2","host":"scanme.sh:443","method":"CONNECT","path":"","scheme":"https"},"raw":"CONNECT scanme.sh:443 HTTP/1.1\r\nHost: scanme.sh:443\r\nConnection: close\r\nUser-Agent: curl/8.1.2\r\n\r\n"},"response":{"header":{"Content-Length":"0"},"raw":"HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"}}
{"timestamp":"2024-02-20T01:56:49+05:30","url":"https://scanme.sh/","request":{"header":{"Accept":"*/*","Connection":"close","User-Agent":"curl/8.1.2","host":"scanme.sh","method":"GET","path":"/","scheme":"https"},"raw":"GET / HTTP/1.1\r\nHost: scanme.sh\r\nAccept: */*\r\nConnection: close\r\nUser-Agent: curl/8.1.2\r\n\r\n"},"response":{"header":{"Content-Type":"text/plain; charset=utf-8","Date":"Mon, 19 Feb 2024 20:26:49 GMT"},"body":"ok","raw":"HTTP/1.1 200 OK\r\nConnection: close\r\nContent-Type: text/plain; charset=utf-8\r\nDate: Mon, 19 Feb 2024 20:26:49 GMT\r\n\r\n"}}

YAML MultiDoc:

在 YAML MultiDoc 格式中,每个 HTTP 请求和响应对被封装为一个单独的文档。输出 yaml 文件中的所有文档由 --- 分隔,以允许流式解析和使用。

root@kitploit:~
proxify -output-format yaml
root@kitploit:~
timestamp: "2024-02-20T01:40:40+05:30"
url: https://scanme.sh:443
request:
    header:
        Connection: close
        User-Agent: curl/8.1.2
        host: scanme.sh:443
        method: CONNECT
        path: ""
        scheme: https
    body: ""
    raw: "CONNECT scanme.sh:443 HTTP/1.1\r\nHost: scanme.sh:443\r\nConnection: close\r\nUser-Agent: curl/8.1.2\r\n\r\n"
response:
    header:
        Content-Length: "0"
    body: ""
    raw: "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"
---
timestamp: "2024-02-20T01:40:40+05:30"
...

文件:

在文件格式中,每个 HTTP 请求和响应对被存储在单独的文件中,请求后紧跟响应。文件名格式为 {{Host}}-{{randstr}}.txt。此外,可以使用 dump-req 或 dump-resp 标志将请求或响应的特定部分保存到文件中。

root@kitploit:~
proxify -store-response

注意:使用 -store-response 时,将同时生成 jsonl 和文件。

使用本地 DNS 解析器进行主机名映射

Proxify 支持嵌入 DNS 解析器,将主机名映射到特定地址,并为任何其他域名定义上游 DNS 服务器。

在端口 8888 上运行 HTTP 代理,使用在端口 53 上监听的嵌入式 DNS 服务器,将 www.google.it 解析为 192.168.1.1,并将所有其他 fqdn 转发到上游 1.1.1.1:

root@kitploit:~
proxify -dns-addr ":53" -dns-mapping "www.google.it:192.168.1.1" -dns-resolver "1.1.1.1:53"

此功能例如被 replay 工具用于劫持连接并模拟响应。在内部评估中使用私有 DNS 服务器时可能很有用。使用 * 作为域名将匹配所有 DNS 请求。

使用 DSL 匹配/过滤流量

如果请求或响应与过滤器匹配,则转储将被标记为 .match.txt 后缀:

root@kitploit:~
proxify -request-dsl "contains(request,'firefox')" -response-dsl "contains(response, md5('test'))"

即时匹配和替换

Proxify 支持使用 DSL 语言即时修改请求和响应。

以下是将请求中的 firefox 一词替换为 chrome 的示例:

root@kitploit:~
proxify -request-match-replace-dsl "replace(request,'firefox','chrome')"

另一个使用正则表达式替换响应的示例:

root@kitploit:~
proxify -response-match-replace-dsl "replace_regex(response, '^authentication failed$', 'authentication ok')"

将所有流量重放到 burp

将所有转储的请求/响应重放到目标 URL(如果未指定,则为 http://127.0.0.1:8080)。为了使其工作,需要将 burp 配置为使用 proxify 作为上游代理,因为 proxify 将负责劫持 DNS 解析并使用转储的请求模拟远程服务器。这允许在 burp 历史中精确拥有所有请求/响应,就像它们最初通过 burp 发送一样,从而允许例如在云上执行远程拦截,并将所有结果本地合并到 burp 中。

root@kitploit:~
replay -output "logs/"

安装 SSL 证书

为 proxify 生成一个证书颁发机构,默认存储在文件夹 ~/.config/proxify/ 中,可以通过 -config 标志手动指定。生成的证书可以通过在连接到 proxify 的浏览器中访问 http://proxify/cacert 来导入。

根证书的安装步骤与其他代理工具类似,包括将证书添加到系统受信任的根存储中。

Proxify 的应用

Proxify 可用于多种场景,以下是 Proxify 派上用场的一些常见示例:

👉 将所有 burp 代理历史日志本地存储。

在端口 8888 上运行 HTTP 代理,并将流量转发到端口 8080 上的 burp:

root@kitploit:~
proxify -http-proxy http://127.0.0.1:8080

在 BurpSuite 中,将上游代理设置为将所有流量转发回 proxify:

root@kitploit:~
用户选项 > 上游代理 > 代理和端口 > 127.0.0.1 & 8888

现在,所有请求/响应历史将存储在 logs 文件夹中,可用于后续处理。

👉 将所有浏览历史本地存储。

在浏览应用程序时,可以将浏览器指向 proxify,以将所有 HTTP 请求/响应存储到文件中。

在默认端口或任何你想要的端口上启动 proxify,

root@kitploit:~
proxify -output chrome-logs

在 macOS 上启动 Chrome 浏览器,

root@kitploit:~
/Applications/Chromium.app/Contents/MacOS/Chromium --ignore-certificate-errors --proxy-server=http://127.0.0.1:8888 &
👉 在运行时根据配置存储 fuzz 的所有响应。

在默认端口或任何你想要的端口上启动 proxify:

root@kitploit:~
proxify -output ffuf-logs

运行指向 proxify 的 FFuF:

root@kitploit:~
ffuf -x http://127.0.0.1:8888 FFUF_CMD_HERE

Proxify 由 projectdiscovery 团队用 🖤 制作。社区贡献使项目达到了现在的水平。详见 Thanks.md 文件。

下载工具