I was a Google Summer of Code student for The Honeynet Project in summer 2020. I was adding new features to their network analysis tool mitmproxy. It was a great and valueable experience. My mentor Maximilian Hils did an excellent job. This page summarizes my work and provides links to the code I created.
My work on mitmproxy consists of two major contributions:
I completely revised and extended the existing replacement implementation. I introduced four new addons that provide a unified user experience to perform replacements in headers, bodies, and URLs:
ModifyBody
addon applies replacements in the body of requests and responses.ModifyHeaders
works on headers: it can set, replace, or remove existing headers.MapRemote
addon transparently serves resources from an alternative remote location. mitmproxy fetches the new resource and serves it instead of the original.MapLocal
, which maps remote resources to local files.Related PRs: #4043, #4046, #4060, #4069, #4102
I created a tutorial that interactively introduces new users to mitmproxy using terminal recordings. It teaches users the basics of mitmproxy and how to use its core features. A major part of this contribution was the creation of a tool to record scripted terminal sessions using asciinema. This allows to fully automate the recording of the tutorial’s ascii casts.