Wie man boost::beast mit mitmproxy debuggt

mitmproxy ist ein wertvolles Werkzeug zum Debuggen von HTTPS-Anfragen, die mit boost::beast gemacht werden.

Um es zu verwenden, beachten Sie, dass mitmproxy auf localhost auf Port 8080 lauscht und Anfragen basierend auf dem HTTP Host-Header weiterleitet.

Zuerst müssen Sie die SSL-Zertifikatsverifizierung deaktivieren:

ssl_disable.cpp
beast::ssl_stream<beast::tcp_stream> stream(ioc, ctx);
stream.set_verify_mode(ssl::verify_none);

Verbinden Sie sich nun, anstatt sich mit einer IP-Adresse basierend auf DNS-Ergebnissen wie

resolver_connect.cpp
ip::tcp::resolver resolver(ioc);
get_lowest_layer(stream).connect(resolver.resolve({endpoint, "https"}));

direkt mit dem 127.0.0.1:8080-Endpunkt:

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);

Abgesehen davon können Sie alles wie gewohnt tun.


Check out similar posts by category: Boost, C/C++