
← netstack.fm17 Mar · 16 min
Protocol Shorts: MITM Proxies and Transparent L4 Interception
<p>episode 31 — Protocol Shorts: MITM Proxies and Transparent L4 Interception.</p><p></p><p>In this second "Protocol Shorts" episode, we look at man-in-the-middle proxies from the transport layer up. The episode explains how HTTP proxies, HTTP CONNECT, and SOCKS5 differ, why they all assume a proxy-aware client, and what changes when a transparent layer 4 proxy is inserted by the operating system instead.</p><p></p><p>From there, we dig into protocol detection from the first bytes on the wire and into the <code>BridgeIo</code> abstraction in Rama: a way to relay and inspect stacked handshakes incrementally instead of terminating every protocol upfront.</p><p></p><p><b>Learn more:</b></p><p></p><ul><li><a rel="noopener noreferrer nofollow" href="https://netstack.fm/#episode-23" target="_blank">https://netstack.fm/#episode-23</a> — Protocol Shorts: HTTP as an Application Bus</li><li><a rel="noopener noreferrer nofollow" href="https://ramaproxy.org/book/proxies/intro.html" target="_blank">https://ramaproxy.org/book/proxies/intro.html</a> — Intro to proxies in the Ramabook</li><li><a rel="noopener noreferrer nofollow" href="https://ramaproxy.org/book/proxies/http.html" target="_blank">https://ramaproxy.org/book/proxies/http.html</a> — HTTP(S) proxies in the Rama boo</li><li><a rel="noopener noreferrer nofollow" href="https://ramaproxy.org/book/proxies/socks5.html" target="_blank">https://ramaproxy.org/book/proxies/socks5.html</a> — SOCKS5 proxies in the Rama book</li><li><a rel="noopener noreferrer nofollow" href="https://ramaproxy.org/book/proxies/mitm.html" target="_blank">https://ramaproxy.org/book/proxies/mitm.html</a> — MITM proxies in the Rama book</></li></li><li><a rel="noopener noreferrer nofollow" href="https://ramaproxy.org/book/proxies/protocol_inspection.html" target="_blank">https://ramaproxy.org/book/proxies/protocol_inspection.html</a> — Protocolinspection in the Rama book</li><li><a rel="noopener noreferrer nofollow" href="https://ramaproxy.org/book/proxies/operate/transparent.html" target="_blank">https://ramaproxy.org/book/proxies/operate/transparent.html</a> — Operating transparent proxies with Rama</li><li><a rel="noopener noreferrer nofollow" href="https://github.com/plabayo/rama/tree/main/ffi/apple/examples/transparent_proxy" target="_blank">https://github.com/plabayo/rama/tree/main/ffi/apple/examples/transparent_proxy</a> — MacOS Transparent Proxy (Rama) example</li></ul><p></p><p><b>Rama</b></p><p></p><p>If you like this podcast you might also like our modular network framework in Rust: <a rel="noopener noreferrer nofollow" href="https://ramaproxy.org" target="_blank">https://ramaproxy.org</a></p><p></p><p><b>Chapters</b></p><p></p><ul><li>00:00 Intro</li><li>01:00 Understanding Proxies: The Basics</li><li>01:18 Diving Deeper into Proxy Types</li><li>04:16 Layer 4 Proxies: A New Approach</li><li>05:23 Challenges of Transparent Proxies</li><li>07:53 Bridging Conversations: A New Insight</li><li>09:53 Example: HTTPS request within a SOCKS5 tunnel</li><li>13:41 Layer 4 Proxies and Protocol Reconstruction</li><li>15:15 Outro</li></ul><p></p><p><a rel="noopener noreferrer nofollow" href="http://Netstack.FM" target="_blank">Netstack.FM</a></p><p></p><ul><li>More information: <a rel="noopener noreferrer nofollow" href="https://netstack.fm/#episode-31" target="_blank">https://netstack.fm/#episode-31</a></li><li>Join our Discord: https://discord.gg/29EetaSYCD</li><li>Reach out to us: hello@netstack.fm</li></ul><p></p><p>Music for this episode was composed by Dj Mailbox. Listen to his music at https://on.soundcloud.com/4MRyPSNj8FZoVGpytj</p>