如何使用 mitmproxy 调试 boost::beast
mitmproxy 是调试使用 boost::beast 发出的 HTTPS 请求的宝贵工具。
要使用它,记住 mitmproxy 监听 localhost 的 8080 端口,并根据 HTTP Host 头转发请求。
首先,你需要禁用 SSL 证书验证:
ssl_disable.cpp
beast::ssl_stream<beast::tcp_stream> stream(ioc, ctx);
stream.set_verify_mode(ssl::verify_none);现在,不是连接到基于 DNS 结果的 IP 地址如
resolver_connect.cpp
ip::tcp::resolver resolver(ioc);
get_lowest_layer(stream).connect(resolver.resolve({endpoint, "https"}));而是直接连接到 127.0.0.1:8080 端点:
connect_via_mitmproxy.cpp
boost::asio::ip::tcp::endpoint ep(
boost::asio::ip::address::from_string("127.0.0.1"),
8080
);
get_lowest_layer(stream).connect(ep);除此之外,你可以像往常一样做任何事情。
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow