{"id":24906,"date":"2024-06-26T21:26:42","date_gmt":"2024-06-26T21:26:42","guid":{"rendered":"https:\/\/www.rapidseedbox.com\/?p=24906"},"modified":"2026-06-22T11:01:40","modified_gmt":"2026-06-22T11:01:40","slug":"mitmproxy","status":"publish","type":"post","link":"https:\/\/www.rapidseedbox.com\/vi\/blog\/mitmproxy","title":{"rendered":"Mitmproxy: The Complete Handbook."},"content":{"rendered":"<p><em>Have you ever felt like you needed a magnifying glass for your network traffic? <\/em><\/p>\n\n\n\n<p><em>Meet Mitmproxy.&nbsp;<\/em><\/p>\n\n\n\n<p>This open-source powerhouse lets you intercept, modify, and analyze HTTP\/1, HTTP\/2, and WebSocket traffic. It is perfect for web developers, network admins, and ideal security professionals.&nbsp;<\/p>\n\n\n\n<p>This article covers everything you need to know about Mitmproxy (if you are a beginner).<strong> It provides an overview of the service, its pros and cons, installation steps, basic usage, and advanced features like SSL\/TLS setup, Python automation, and Docker integration.<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_3.png\"><img decoding=\"async\" loading=\"lazy\" width=\"887\" height=\"429\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_3.png\" alt=\"mitmproxy\" class=\"wp-image-24909\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_3.png 887w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_3-300x145.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_3-18x9.png 18w\" sizes=\"(max-width: 887px) 100vw, 887px\" \/><\/a><\/figure>\n\n\n\n<p><strong><em>Tuy\u00ean b\u1ed1 mi\u1ec5n tr\u1eeb tr\u00e1ch nhi\u1ec7m:&nbsp;<\/em><\/strong><em>T\u00e0i li\u1ec7u n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c ph\u00e1t tri\u1ec3n nghi\u00eam ng\u1eb7t cho m\u1ee5c \u0111\u00edch th\u00f4ng tin. N\u00f3 kh\u00f4ng c\u1ea5u th\u00e0nh s\u1ef1 ch\u1ee9ng th\u1ef1c cho b\u1ea5t k\u1ef3 ho\u1ea1t \u0111\u1ed9ng n\u00e0o (bao g\u1ed3m c\u1ea3 c\u00e1c ho\u1ea1t \u0111\u1ed9ng b\u1ea5t h\u1ee3p ph\u00e1p), s\u1ea3n ph\u1ea9m ho\u1eb7c d\u1ecbch v\u1ee5. B\u1ea1n ho\u00e0n to\u00e0n ch\u1ecbu tr\u00e1ch nhi\u1ec7m tu\u00e2n th\u1ee7 lu\u1eadt hi\u1ec7n h\u00e0nh, bao g\u1ed3m lu\u1eadt s\u1edf h\u1eefu tr\u00ed tu\u1ec7, khi s\u1eed d\u1ee5ng d\u1ecbch v\u1ee5 c\u1ee7a ch\u00fang t\u00f4i ho\u1eb7c d\u1ef1a v\u00e0o b\u1ea5t k\u1ef3 th\u00f4ng tin n\u00e0o \u1edf \u0111\u00e2y. Ch\u00fang t\u00f4i kh\u00f4ng ch\u1ea5p nh\u1eadn b\u1ea5t k\u1ef3 tr\u00e1ch nhi\u1ec7m ph\u00e1p l\u00fd n\u00e0o \u0111\u1ed1i v\u1edbi thi\u1ec7t h\u1ea1i ph\u00e1t sinh t\u1eeb vi\u1ec7c s\u1eed d\u1ee5ng c\u00e1c d\u1ecbch v\u1ee5 ho\u1eb7c th\u00f4ng tin c\u1ee7a ch\u00fang t\u00f4i \u1edf \u0111\u00e2y d\u01b0\u1edbi b\u1ea5t k\u1ef3 h\u00ecnh th\u1ee9c n\u00e0o, tr\u1eeb khi lu\u1eadt ph\u00e1p y\u00eau c\u1ea7u r\u00f5 r\u00e0ng.<\/em><\/p>\n\n\n\n<div style=\"height:16px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">M\u1ee5c l\u1ee5c<\/h2>\n\n\n\n<ol>\n<li><a href=\"#1\">Overview of Mitmproxy<\/a>\n<ul>\n<li>What it is.<\/li>\n\n\n\n<li>Pros and cons<\/li>\n\n\n\n<li>Mitmproxy use cases<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><a href=\"#02\">How to Install Mitmproxy (Step-by-Step Guide)<\/a>\n<ul>\n<li>Windows<\/li>\n\n\n\n<li>Linux<\/li>\n\n\n\n<li>macOS<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><a href=\"#03\">Getting Started with Mitmproxy<\/a>\n<ul>\n<li>Launch Mitmproxy<\/li>\n\n\n\n<li>Configure Your Browser or Device<\/li>\n\n\n\n<li>Verify Configuration<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><a href=\"#04\">How to Use Mitmproxy<\/a><\/li>\n\n\n\n<li><a href=\"#05\">More Things You Can Do with Mitmproxy<\/a>\n<ul>\n<li>Use the Web Interface<\/li>\n\n\n\n<li>Use Mitmdump<\/li>\n\n\n\n<li>Setting Up SSL\/TLS Certificates<\/li>\n\n\n\n<li>Automate Tasks with Python<\/li>\n\n\n\n<li>Running Mitmproxy in Docker<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><a href=\"#06\">FAQ Section<\/a><\/li>\n\n\n\n<li><a href=\"#07\">L\u1eddi k\u1ebft<\/a><\/li>\n<\/ol>\n\n\n\n<div style=\"height:14px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"01\">1. Overview of Mitmproxy<\/h2>\n\n\n\n<p>Mitmproxy is an open-source powerful toolset for intercepting, modifying, and analyzing network traffic (specifically HTTP\/1, HTTP\/2, and WebSockets). It&#8217;s an SSL\/TLS-capable <a href=\"https:\/\/www.rapidseedbox.com\/blog\/what-is-http-proxy\" target=\"_blank\" rel=\"noreferrer noopener\">intercepting proxy<\/a>. It is perfect for debugging, testing, and security assessments. <strong>It comes in three flavors to suit all your needs:<\/strong><\/p>\n\n\n\n<ul>\n<li><strong>Mitmproxy:<\/strong> An interactive console that lets you explore traffic interception in detail.<\/li>\n\n\n\n<li><strong>Mitmweb: <\/strong>An easy-to-use web interface that looks and feels like Chrome&#8217;s DevTools.<\/li>\n\n\n\n<li><strong>Mitmdump: <\/strong>A command-line tool that works like tcpdump for scripting and automation.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>What does Mitmproxy mean?&nbsp;<\/strong><\/h3>\n\n\n\n<p>The first part of the word -&gt; MitM (Man-in-the-Middle) is a cyber-security term that refers to a type of attack or technique. Here an attacker would secretly intercept and possibly alter the communication between two parties who think they are communicating directly with each other. The other side of the word &#8220;proxy&#8221; (or middleman) refers to the intermediary between the client and the server. It allows users to intercept, inspect, and modify network traffic.&nbsp;<strong>Mitmproxy uses this concept but in a controlled and ethical manner. <\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Mitmproxy<\/strong> <strong>\u01afu \u0111i\u1ec3m v\u00e0 nh\u01b0\u1ee3c \u0111i\u1ec3m <\/strong><\/h3>\n\n\n\n<p>Every tool has its highs and lows and this one is no exception.&nbsp; In this section, we\u2019ll dive into the main advantages and possible pitfalls of using it. <strong>This will help you determine if it\u2019s the perfect match for your needs.&nbsp;<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>\u01afu \u0111i\u1ec3m<\/strong><\/td><td><strong>Nh\u01b0\u1ee3c \u0111i\u1ec3m<\/strong><\/td><\/tr><tr><td><strong>Interactive Traffic Interception and Analysis: <\/strong>Real-time capture, modification, and replay of HTTP\/HTTPS traffic.<\/td><td><strong>Steep Learning Curve: <\/strong>Requires knowledge of networking and certificates.<\/td><\/tr><tr><td><strong>SSL\/TLS Capabilities:<\/strong> Generates SSL\/TLS certificates for secure interception.<\/td><td><strong>Command-Line Driven: <\/strong>CLI reliance can be challenging for GUI users.<\/td><\/tr><tr><td><strong>Dual Interfaces and Advanced Filtering:<\/strong> CLI and web interface (mitmweb) with powerful filtering options.<\/td><td><strong>Resource Intensive:<\/strong> High computational demands for large traffic volumes.<\/td><\/tr><tr><td><strong>Scripting, Automation, and Custom Addons: <\/strong>Python API for custom scripts and addons.<\/td><td><strong>Compatibility Issues: <\/strong>Problems with certain apps and complex setups.<\/td><\/tr><tr><td><strong>Cross-Platform Support:<\/strong> Available for Windows, Linux, and macOS.<\/td><td><strong>Security Risks: <\/strong>Needs strict security measures to avoid attacks.<\/td><\/tr><tr><td><strong>Free and Open Source: <\/strong>Accessible with community support.<\/td><td><strong>Manual Configuration: <\/strong>Complex setup for Docker and cloud environments.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">What do we recommend it for? Mitmproxy Use Case Examples<\/h3>\n\n\n\n<ul>\n<li><strong>Debugging Applications. <\/strong>Use Mitmproxy to capture and analyze HTTP requests and responses. This helps pinpoint slow responses or oversized payloads to fix delays. Intercepting traffic to see what data is being sent and received, also helps debug data-related problems. Additionally, it helps simulate various server responses to see how your app handles errors.<\/li>\n\n\n\n<li><strong>Penetration Testing. <\/strong>With Mitmproxy you can capture and tweak HTTP\/HTTPS traffic to mimic attacks (e.g., SQL injection, XSS) and identify vulnerabilities. Plus, you can also record and tweak legitimate traffic to test for weaknesses like replay attacks and session fixation. In this area, Mitmproxy also helps intercept encrypted traffic to verify certificate handling, encryption standards, and overall HTTPS security.<\/li>\n\n\n\n<li><strong>Privacy Measurements.<\/strong> Mitmproxy is useful for capturing and inspecting traffic to ensure no sensitive information is being leaked. You can also use it to verify that data handling and transmission comply with privacy regulations like GDPR. People also use it for third-party service analysis. Analyze traffic between your app and third-party services to ensure they\u2019re not collecting unnecessary data.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:12px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"02\">2. How to install Mitmproxy (step-by-step guide)<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">a. Windows: Step-by-Step Installation Guide<\/h3>\n\n\n\n<ul>\n<li><strong>Download the Installer:<\/strong> Download the Windows installer from the <a href=\"https:\/\/mitmproxy.org\" target=\"_blank\" rel=\"noreferrer noopener\">official website<\/a>.<\/li>\n\n\n\n<li><strong>Run the Installer:<\/strong> Execute the downloaded file and follow the on-screen instructions to complete the installation.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_9.png\"><img decoding=\"async\" loading=\"lazy\" width=\"995\" height=\"542\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_9.png\" alt=\"mitmproxy installation\" class=\"wp-image-24915\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_9.png 995w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_9-300x163.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_9-18x10.png 18w\" sizes=\"(max-width: 995px) 100vw, 995px\" \/><\/a><\/figure>\n\n\n\n<ul>\n<li><strong>Verify Installation: <\/strong>Open a command prompt and type mitmproxy, mitmweb, or mitmdump to verify the installation. If the tools launch correctly, that means the installation was successful. But still, no traffic flows are being captured. <\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_15.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"534\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_15-1024x534.png\" alt=\"mitmproxy dashboard\" class=\"wp-image-24921\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_15-1024x534.png 1024w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_15-300x156.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_15-18x9.png 18w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_15.png 1107w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">b. Linux: Using Package Managers and Source Installation<\/h3>\n\n\n\n<p>To install Mitmproxy on Linux, you can either use package managers or install from source.&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Using Package Managers:<\/strong><\/h4>\n\n\n\n<p>You can download standalone binaries for your specific distribution (visit the <a href=\"https:\/\/mitmproxy.org\" target=\"_blank\" rel=\"noreferrer noopener\">official website<\/a> to find these binaries) or use the package managers respective to each distribution. \u200b\u200bBoth methods provide pre-compiled binaries that simplify the mitmproxy installation. Still, the package managers offer automated dependency management and updates.<\/p>\n\n\n\n<p><strong>Arch Linux:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo pacman -S mitmproxy<\/code><\/pre>\n\n\n\n<p><strong>Fedora:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo dnf install mitmproxy<\/code><\/pre>\n\n\n\n<p><strong>Debian\/Ubuntu:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update\nsudo apt install mitmproxy<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_18.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"516\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_18-1024x516.png\" alt=\"setting up mitmproxy\" class=\"wp-image-24924\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_18-1024x516.png 1024w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_18-300x151.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_18-18x9.png 18w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_18.png 1044w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Source Installation:<\/strong><\/h4>\n\n\n\n<p>If you prefer, you can also install it from the source. All instructions are below.&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git clone https:\/\/github.com\/mitmproxy\/mitmproxy.git\ncd mitmproxy<\/code><\/pre>\n\n\n\n<p><strong>Install dependencies and build:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pip install -r requirements.txt\npython setup.py install<\/code><\/pre>\n\n\n\n<p><strong>Using pipx for Python Package Management:<\/strong><\/p>\n\n\n\n<p>Install pipx:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python -m pip install --user pipx\npython -m pipx ensurepath<\/code><\/pre>\n\n\n\n<p>Install mitmproxy:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pipx install mitmproxy<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">c. macOS: Installation via Homebrew<\/h3>\n\n\n\n<p>Pre-requisite: Install Homebrew: If you haven\u2019t installed Homebrew, follow the instructions on<a href=\"https:\/\/brew.sh\" target=\"_blank\" rel=\"noreferrer noopener\"> Homebrew&#8217;s official website<\/a>.<\/p>\n\n\n\n<p><strong>Install mitmproxy<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>brew install mitmproxy<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_16.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"155\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_16-1024x155.png\" alt=\"mitmproxy setup\" class=\"wp-image-24922\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_16-1024x155.png 1024w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_16-300x45.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_16-18x3.png 18w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_16.png 1055w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p><strong>Verify Installation:&nbsp;<\/strong><\/p>\n\n\n\n<p>Open a terminal and type mitmproxy, mitmweb, or mitmdump to verify the installation.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_8.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"494\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_8-1024x494.png\" alt=\"mitmproxy UI\" class=\"wp-image-24914\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_8-1024x494.png 1024w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_8-300x145.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_8-18x9.png 18w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_8.png 1053w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:12px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading has-text-align-center has-background\" style=\"background-color:#b0f2b6\"><strong>Mitmproxy users, looking for scalability and performance?&nbsp;<br><\/strong><br>How can Rapidseedbox Help?<br><br>High Traffic Volume Handling<br>Guaranteed Uptime<br>K\u1ebft n\u1ed1i To\u00e0n c\u1ea7u<br>Enhanced Anonymity<br>\u2014\u2014\u2014<\/h4>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-2\">\n<div class=\"wp-block-button is-style-fill\"><a class=\"wp-block-button__link has-background wp-element-button\" href=\"https:\/\/www.rapidseedbox.com\/vi\/proxy\/?blog=mitmproxy\" style=\"background-color:#22c55e\" target=\"_blank\" rel=\"noreferrer noopener\">Get Started Today! \ud83d\ude80<\/a><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"03\">3. Getting Started with Mitmproxy.<\/h2>\n\n\n\n<p>Once it is installed on your platform, it is time to use it. In this section, we will learn the basic configuration and setup, basic commands, and how to set it up on different devices and browsers.&nbsp;<\/p>\n\n\n\n<p><strong><em>L\u01b0u \u00fd: <\/em><\/strong><em>By default, Mitmproxy starts an <a href=\"https:\/\/www.rapidseedbox.com\/blog\/what-is-http-proxy\" target=\"_blank\" rel=\"noreferrer noopener\">Proxy HTTP<\/a>. It also listens http:\/\/localhost:8080.<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">a. Launch Mitmproxy:<\/h3>\n\n\n\n<ul>\n<li>(As shown in the previous section) Open a terminal and type \u201cmitmproxy\u201d to launch the command-line interface. The mitmproxy interface should look as the following screenshot:<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_8.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"494\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_8-1024x494.png\" alt=\"mitmproxy UI\" class=\"wp-image-24914\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_8-1024x494.png 1024w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_8-300x145.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_8-18x9.png 18w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_8.png 1053w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<ul>\n<li>Type \u201cmitmweb\u201d to start the web interface. It will start automatically (as shown in the following screenshot).&nbsp;<\/li>\n\n\n\n<li>If it doesn&#8217;t start, open your browser and go to http:\/\/localhost:8081.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_19.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"557\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_19-1024x557.png\" alt=\"installing mitmproxy\" class=\"wp-image-24925\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_19-1024x557.png 1024w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_19-300x163.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_19-18x10.png 18w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_19.png 1433w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<ul>\n<li><strong>Mitmdump:<\/strong> Type mitmdump to use the command-line tool for scripting.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_14.png\"><img decoding=\"async\" loading=\"lazy\" width=\"716\" height=\"198\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_14.png\" alt=\"installing mitmproxy\" class=\"wp-image-24920\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_14.png 716w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_14-300x83.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_14-18x5.png 18w\" sizes=\"(max-width: 716px) 100vw, 716px\" \/><\/a><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Troubleshoot!<\/strong><\/h4>\n\n\n\n<p class=\"has-background\" style=\"background-color:#b0f2b6\"><em>If you see the following line: <\/em><strong><em>&#8220;[12:10:38.265] The mitmproxy certificate authority has expired!<\/em> <\/strong>do the following&#8230; <\/p>\n\n\n\n<p>This error message indicates that the Mitmproxy certificate authority (CA) has expired. To fix this, go ahead and delete the CA-related files in your .mitmproxy folder so that a new CA can be generated. Once you delete the expired CA files, the tool will automatically regenerate a new CA upon restarting.&nbsp;<\/p>\n\n\n\n<p><strong>Here are the steps to resolve this issue:<\/strong><\/p>\n\n\n\n<p><strong>Delete CA-related Files:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>rm -rf ~\/.mitmproxy<\/code><\/pre>\n\n\n\n<p><strong>Restart Mitmproxy:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mitmdump<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_4.png\"><img decoding=\"async\" loading=\"lazy\" width=\"716\" height=\"383\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_4.png\" alt=\"installing mitmproxy\" class=\"wp-image-24910\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_4.png 716w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_4-300x160.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_4-18x10.png 18w\" sizes=\"(max-width: 716px) 100vw, 716px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">b. Configure your Browser or Device.<\/h3>\n\n\n\n<p>To use it, set up your browser or device to take all traffic through Mitmproxy. You can set up the proxy on Google Chrome, Mozilla Firefox, Microsoft Edge, or devices like iOS (iPhone \/ iPad) or Android. But bear in mind that proxy configurations change from browser to browser and device to device.&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Set the HTTP Proxy:<\/strong><\/h4>\n\n\n\n<ul>\n<li>Open your browser or device network settings. Don&#8217;t know what is an HTTP Proxy? Read more here (<a href=\"https:\/\/www.rapidseedbox.com\/blog\/what-is-http-proxy\" target=\"_blank\" rel=\"noreferrer noopener\">HTTP Proxy<\/a>) and learn the differences from <a href=\"https:\/\/www.rapidseedbox.com\/vi\/blog\/guide-to-socks5-proxy\" target=\"_blank\" rel=\"noreferrer noopener\">Proxy SOCKS5<\/a>. <\/li>\n\n\n\n<li>Find the proxy settings (this can usually be found under advanced settings or connection settings).<\/li>\n\n\n\n<li>Set the Web HTTP proxy (1) to http:\/\/localhost:8080, or 127.0.0.1:8080 (2), and then click on ok (3).&nbsp;<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_1.png\"><img decoding=\"async\" loading=\"lazy\" width=\"660\" height=\"570\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_1.png\" alt=\"Configuring the CA\" class=\"wp-image-24907\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_1.png 660w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_1-300x259.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_1-14x12.png 14w\" sizes=\"(max-width: 660px) 100vw, 660px\" \/><\/a><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Installing the Mitmproxy CA.<\/strong><\/h4>\n\n\n\n<ul>\n<li>Open your browser and navigate to <a href=\"http:\/\/mitm.it\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/mitm.it<\/a>. You will see a page directing you to install the Mitmproxy Certificate Authority (CA). <\/li>\n\n\n\n<li>Find your respective platform and download the certificate. If the download doesn\u2019t happen\u2026 follow the instructions shown on that same&nbsp; <a href=\"http:\/\/mitm.it\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/mitm.it<\/a> page.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_6.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"539\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_6-1024x539.png\" alt=\"configuring the mitmproxy CA certificate\" class=\"wp-image-24912\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_6-1024x539.png 1024w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_6-300x158.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_6-18x9.png 18w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_6.png 1192w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\"><em>Photo by the official website<\/em><\/figcaption><\/figure>\n\n\n\n<ul>\n<li>You can verify that the mtimproxy CA certificate is installed by going checking your system\u2019s certificates. <\/li>\n\n\n\n<li>For macOS, go to Keychain Access &gt; Certificates. Make sure the SSL is set to \u201cAlways Trust\u201d<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/image-301.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"539\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/image-301-1024x539.png\" alt=\"verifying the mtimproxy CA certificate\" class=\"wp-image-26629\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/image-301-1024x539.png 1024w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/image-301-300x158.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/image-301-18x9.png 18w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/image-301.png 1192w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Unable to route web traffic through Mitmproxy?&nbsp;<\/strong><\/h4>\n\n\n\n<ul>\n<li>If, when opening the web page (<a href=\"http:\/\/mitm.it\">http:\/\/mitm.it<\/a>) you see the following message &#8220;If you can see this, traffic is not passing through mitmproxy&#8221; it means that your web traffic is not being intercepted by mitmproxy. <\/li>\n\n\n\n<li>Most likely this is because you haven\u2019t set the proxy server configuration (on your browser or device) correctly. Also, ensure that mitmproxy is set up correctly and is running. And then try again.&nbsp;<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_10.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"283\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_10-1024x283.png\" alt=\"Photo by mitm.it\" class=\"wp-image-24916\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_10-1024x283.png 1024w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_10-300x83.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_10-18x5.png 18w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_10.png 1426w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">c. Verify Configuration.<\/h3>\n\n\n\n<ul>\n<li>Open the terminal and start the service with the following command: &#8216;mitmproxy&#8217;<\/li>\n\n\n\n<li>Once you start it (if properly configured), you\u2019ll see the terminal receive HTTP and WSS flows.&nbsp;<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_12.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"502\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_12-1024x502.png\" alt=\"mitmproxy capturing HTTP and WSS traffic\" class=\"wp-image-24918\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_12-1024x502.png 1024w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_12-300x147.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_12-18x9.png 18w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_12.png 1148w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"04\">4. How to Use Mitmproxy.<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>The interface shows the following information.&nbsp;<\/strong><\/h4>\n\n\n\n<ul>\n<li><strong>Flows Section:<\/strong> The main part of the screen shows the list of intercepted HTTP and WebSocket flows. Each row represents a single HTTP\/WebSocket request and response.<\/li>\n\n\n\n<li><strong>Columns:<\/strong>\n<ul>\n<li>Time: Shows the time the request was captured.<\/li>\n\n\n\n<li>Protocol: Indicates the protocol used (e.g., HTTP, WS for WebSocket).<\/li>\n\n\n\n<li>Method: HTTP method used (e.g., GET).<\/li>\n\n\n\n<li>Host and Path: The target host and path of the request.<\/li>\n\n\n\n<li>Status Code: The HTTP status code returned by the server.<\/li>\n\n\n\n<li>Content: Shows if the response has content or not.<\/li>\n\n\n\n<li>Duration: Time taken to process the request in milliseconds.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Detailed Flow Information<\/strong><\/h4>\n\n\n\n<ul>\n<li><strong>Selected Flow: <\/strong>At the bottom, you see the number of selected flows and a small menu\n<ul>\n<li><strong>Flow:<\/strong> Indicates the number of flows selected.<\/li>\n\n\n\n<li><strong>Proxy: <\/strong>Shows the active proxy configuration.<\/li>\n\n\n\n<li><strong>Other Options: <\/strong>You can use keys like o for Options, e for Events, q to Quit, and various other commands to interact with the flows. (more on this below)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_13.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"504\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_13-1024x504.png\" alt=\"mitmproxy User Interface\" class=\"wp-image-24919\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_13-1024x504.png 1024w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_13-300x148.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_13-18x9.png 18w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_13.png 1146w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<ul>\n<li><strong>Inspecting a Flow:<\/strong>\n<ul>\n<li>Use the arrow keys to navigate through the list of flows. You will see a \u2018&gt;&gt;\u2019 symbol moving up and down the flows.&nbsp;<\/li>\n\n\n\n<li>Press Enter to inspect a specific flow in detail. This will allow you to see headers, content, and other information about the request and response.<\/li>\n\n\n\n<li>For example, we selected the flow with host mitm.it. In this section, you will see all information about the header. Also, you can move around the tabs: Request, Response, and other Details.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_20.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"500\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_20-1024x500.png\" alt=\"mitmproxy UI\" class=\"wp-image-24926\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_20-1024x500.png 1024w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_20-300x146.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_20-18x9.png 18w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_20.png 1154w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<ul>\n<li><strong>Filtering Flows: <\/strong>You can filter the flows by pressing f and typing in your filter criteria, such as specific hostnames or request types.<\/li>\n\n\n\n<li>For example, we typed \u201cmitm.it\u201d using a filter and now we can see only mitm.it hosts.&nbsp;<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_2.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"502\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_2-1024x502.png\" alt=\"knowing the Midmproxy interface\" class=\"wp-image-24908\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_2-1024x502.png 1024w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_2-300x147.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_2-18x9.png 18w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_2.png 1149w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<ul>\n<li><strong>Options and Configuration: <\/strong>Press o to open the options menu, where you can configure various settings for Mitmproxy. These options are method, size, time, and url.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_5.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"504\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_5-1024x504.png\" alt=\"using mitmproxy\" class=\"wp-image-24911\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_5-1024x504.png 1024w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_5-300x148.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_5-18x9.png 18w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_5.png 1145w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Bottom Menu Options in Mitmproxy<\/strong><\/h4>\n\n\n\n<ul>\n<li>In the the interface, the bottom menu provides various options to interact with the captured flows and configure Mitmproxy settings.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_11.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"502\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_11-1024x502.png\" alt=\"mitmproxy user interface\" class=\"wp-image-24917\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_11-1024x502.png 1024w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_11-300x147.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_11-18x9.png 18w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_11.png 1155w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p><strong>Here is a detailed explanation of all the options shown on the bottom menu:<\/strong><\/p>\n\n\n\n<ul>\n<li><strong>Flow: <\/strong>Select the currently highlighted flow for detailed inspection or manipulation.<\/li>\n\n\n\n<li><strong>Select: <\/strong>Allows you to select multiple flows for batch operations.<\/li>\n\n\n\n<li><strong>Help:<\/strong> Access help and documentation for using Mitmproxy.<\/li>\n\n\n\n<li><strong>q Quit:<\/strong> Exit the session.<\/li>\n\n\n\n<li><strong>r Replay: <\/strong>Replay the selected HTTP request.<\/li>\n\n\n\n<li><strong>E Events: <\/strong>View the event log for Mitmproxy, which includes important messages and errors.<\/li>\n\n\n\n<li><strong>Export: <\/strong>Export selected flows to a file for later analysis or sharing.<\/li>\n\n\n\n<li><strong>Options:<\/strong> Open the options menu to configure the settings.<\/li>\n\n\n\n<li><strong>d Delete: <\/strong>Delete the selected flow from the list.<\/li>\n\n\n\n<li><strong>i Intercept: <\/strong>Intercept requests to modify or inspect them before forwarding them to the server.<\/li>\n\n\n\n<li><strong>Mark: <\/strong>Mark flows to perform batch operations like deletion or export.<\/li>\n\n\n\n<li><strong>Filter:<\/strong> Apply filters to view only specific flows based on criteria like host, method, or status code.<\/li>\n\n\n\n<li><strong>e Edit:<\/strong> Edit the request or response of the selected flow.<\/li>\n\n\n\n<li><strong>b Save body: <\/strong>Save the body of the selected flow to a file.<\/li>\n\n\n\n<li><strong>z Clear list: <\/strong>Clear all flows from the list.<\/li>\n\n\n\n<li><strong>Save Flows: <\/strong>Save all captured flows to a file.<\/li>\n\n\n\n<li><strong>Change Layout: <\/strong>Switch between different layout modes in the interface.<\/li>\n\n\n\n<li><strong>Ctrl+F Follow new: <\/strong>Automatically follow and highlight new flows as they are captured.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Want more help with Mitmproxy?&nbsp;<\/strong><\/h4>\n\n\n\n<p>View help: Press \u2018?\u2019 within the mitmproxy interface for context-sensitive help.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_17.png\"><img decoding=\"async\" loading=\"lazy\" width=\"811\" height=\"549\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_17.png\" alt=\"using mitmproxy\" class=\"wp-image-24923\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_17.png 811w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_17-300x203.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_17-18x12.png 18w\" sizes=\"(max-width: 811px) 100vw, 811px\" \/><\/a><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>What\u2019s Next?&nbsp;<\/strong><\/h4>\n\n\n\n<p><strong>Now, you are equipped with the knowledge to start using Mitmproxy. And, so what is next?&nbsp;<\/strong><\/p>\n\n\n\n<ul>\n<li><strong>Start Capturing: <\/strong>As traffic flows through Mitmproxy, you&#8217;ll see HTTP (or WSS) requests and responses in real time. Use the interface to inspect and modify them on the fly.<\/li>\n\n\n\n<li><strong>Analyze Traffic:<\/strong> Look for patterns, anomalies, or specific data within the captured traffic. The tool lets you dissect each request and response down to the finest details.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:11px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"05\">5. More things you can do with Mitmproxy<\/h2>\n\n\n\n<p>Mitmproxy is more than just a simple web traffic interceptor; you can do so much more with this fantastic tool. Below are five more cool things you can do with this tool.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>a. Use the Web interface.<\/strong><\/h4>\n\n\n\n<p>Use the built-in web-based interface with a GUI for easier traffic analysis and manipulation. How to start it?&nbsp;<\/p>\n\n\n\n<ul>\n<li><strong>Start mitmweb:<\/strong> &#8216;mitmweb&#8217;<\/li>\n\n\n\n<li><strong>Open the web interface: <\/strong>Go to http:\/\/localhost:8081 in your browser.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>b. Use Mitmdump.<\/strong><\/h4>\n\n\n\n<p>Mitmdump comes with the Mitmproxy installation. It is a non-interactive command-line tool designed for scripting and automation.<\/p>\n\n\n\n<ul>\n<li>Start mitmdump: mitmdump<\/li>\n\n\n\n<li>Save traffic to a file: mitmdump -w outfile<\/li>\n\n\n\n<li>Filter and replay traffic: mitmdump -nr infile -w outfile &#8220;~m post&#8221;<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>c. Setting Up SSL\/TLS Certificates<\/strong><\/h4>\n\n\n\n<p>Traffic Interception isn&#8217;t complete without handling encrypted traffic. Mitmproxy simplifies SSL\/TLS certificate setup so you can peek into <a href=\"https:\/\/www.rapidseedbox.com\/blog\/https-proxy\" target=\"_blank\" rel=\"noreferrer noopener\">HTTPS traffic<\/a> seamlessly. How to do this?\u00a0<\/p>\n\n\n\n<ul>\n<li>The service creates a CA certificate that you&#8217;ll use to sign intercepted traffic.<\/li>\n\n\n\n<li>Navigate to http:\/\/mitm.it in your browser and follow the instructions to install the CA certificate on your device.&nbsp;<\/li>\n\n\n\n<li>With the CA certificate installed, Mitmproxy will decrypt HTTPS traffic, allowing you to inspect, modify, and analyze secure communications just like unencrypted HTTP traffic.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>d. Automate Tasks with Python<\/strong><\/h4>\n\n\n\n<p>Let\u2019s take your traffic analysis to the next level. Mitmproxy&#8217;s Python API lets you automate tasks and customize traffic handling.<\/p>\n\n\n\n<ul>\n<li>Use Python to write custom addons that extend the tool\u2019s functionality. For example, you can automatically modify requests or log specific traffic patterns.<\/li>\n\n\n\n<li>With the Python API, you have full control over intercepted traffic. Modify headers, alter request paths, or even block specific requests based on custom logic.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>e. Running Mitmproxy in Docker<\/strong><\/h4>\n\n\n\n<p>You\u2019ll be happy to know that Mimtproxy is supported by Docker (If you prefer containerized environments). Mitmproxy in Docker integrates well into modern development workflows.<\/p>\n\n\n\n<ul>\n<li>Pull the Docker Image: Download the official image from DockerHub: docker pull mitmproxy\/mitmproxy<\/li>\n\n\n\n<li>Run it in a Container: docker run &#8211;rm -it -p 8080:8080 mitmproxy\/mitmproxy<\/li>\n<\/ul>\n\n\n\n<div style=\"height:11px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"06\">6. FAQ Section.<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>1. How can I intercept HTTP\/HTTPS requests using Mitmproxy?&nbsp;<\/strong><\/h4>\n\n\n\n<p>To intercept HTTP\/HTTPS requests, configure your browser or device to use Mitmproxy as its proxy. Start it in your terminal and it will begin capturing all traffic passing through it. You can then inspect and modify these requests on the fly. More information on the previous sections of the post.&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>2. Can Mitmproxy handle large amounts of network traffic?&nbsp;<\/strong><\/h4>\n\n\n\n<p>Yes, Mitmproxy is designed to handle significant amounts of network traffic. However, for very high volumes, we recommend ensuring your hardware supports the load. The tool provides various options to optimize performance and manage traffic efficiently.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>3. How does Mitmproxy manage SSL\/TLS certificates?&nbsp;<\/strong><\/h4>\n\n\n\n<p>Mitmproxy generates a Certificate Authority (CA) certificate which you need to install on your device. This allows Mitmproxy to intercept and decrypt HTTPS traffic. The CA certificate is used to sign other certificates on-the-fly. This makes the intercepted traffic appear trusted to your browser or application.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>4. Is using Mitmproxy safe?&nbsp;<\/strong><\/h4>\n\n\n\n<p>Mitmproxy is safe (if you use it correctly). As a best practice, ensure that the generated CA certificate is only used on trusted devices and environments. Always update Mitmproxy to the latest version to benefit from security patches and improvements. Most importantly, always remember, that intercepting traffic should only be done ethically and legally.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>5. Can Mitmproxy be used with different hosting environments and servers?&nbsp;<\/strong><\/h4>\n\n\n\n<p>Absolutely. Mitmproxy is compatible with various hosting environments and servers. You can set it up on local servers, cloud environments, and even within Docker containers.&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>6. How do I run Mitmproxy in a Docker container?&nbsp;<\/strong><\/h4>\n\n\n\n<p>To run Mitmproxy in Docker, pull the official Mitmproxy image from DockerHub using the command \u201cdocker pull mitmproxy\/mitmproxy.\u201d Then, start a container with docker run &#8211;rm -it -p 8080:8080 mitmproxy\/mitmproxy. This setup allows you to intercept traffic in a containerized environment. This is perfect for integrating with modern DevOps workflows.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>7. How can I use the Mitmproxy API for custom traffic manipulation?&nbsp;<\/strong><\/h4>\n\n\n\n<p>Mitmproxy provides a powerful Python API that allows you to write custom scripts for traffic manipulation. With this API, you can automate tasks, modify requests and responses, and implement complex logic. To get started, write your script and run Mitmproxy with the -s flag followed by your script\u2019s path.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>8. Can Mitmproxy be used for web scraping?&nbsp;<\/strong><\/h4>\n\n\n\n<p>Yes, Mitmproxy is a perfect tool for web scraping. It allows you to capture and modify web traffic, making it easier to extract data from web pages. By analyzing HTTP requests and responses, you can automate data collection more effectively.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>9. What is the process for TLS\/SSL configuration in Mitmproxy?&nbsp;<\/strong><\/h4>\n\n\n\n<p>To configure TLS\/SSL in Mitmproxy, you\u2019ll need to start a CA certificate on your device. This enables Mitmproxy to decrypt HTTPS traffic. Configure your client to trust the CA certificate, ensuring secure and seamless interception of encrypted traffic.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>10. What are some alternatives or similar tools to Mitmproxy?<\/strong><\/h4>\n\n\n\n<p>If you&#8217;re exploring alternatives (or similar tools) to Mitmproxy, consider the following:&nbsp;<\/p>\n\n\n\n<ul>\n<li>Fiddler for its user-friendly interface and powerful web session debugging capabilities<\/li>\n\n\n\n<li><a href=\"https:\/\/www.rapidseedbox.com\/blog\/charles-proxy\" target=\"_blank\" rel=\"noreferrer noopener\">Charles Proxy<\/a> for its SSL proxying and bandwidth throttling features<\/li>\n\n\n\n<li>Burp Suite for comprehensive web application security testing.&nbsp;<\/li>\n\n\n\n<li>OWASP ZAP provides open-source security testing tools<\/li>\n\n\n\n<li>Wireshark offers detailed network protocol analysis<\/li>\n\n\n\n<li>Proxyman delivers a modern interface for web traffic debugging<\/li>\n\n\n\n<li>HTTP Toolkit simplifies intercepting and debugging HTTP(S) traffic with guided setup.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:13px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"07\">7. Final Words.<\/h2>\n\n\n\n<p>We have \u2018superficially\u2019 explored Mitmproxy&#8217;s features and capabilities. This article guide really covers only the tip of the iceberg of what this amazing tool can do.&nbsp;<\/p>\n\n\n\n<p>In this guide, we covered installation steps for different operating systems, basic setup, and usage. Additionally, we delved into advanced functionalities like SSL\/TLS interception, automation with Python, and Docker integration.&nbsp;<\/p>\n\n\n\n<p>We hope, that with this knowledge, you make the most of Mitmproxy for your network traffic analysis and manipulation.<\/p>\n\n\n\n<h4 class=\"wp-block-heading has-text-align-center has-background\" style=\"background-color:#b0f2b6\"><strong>Think you know traffic management?&nbsp;<\/strong><br><br>But have you tried it with RapidSeedbox?&nbsp;<br><br>High-Speed and Stability.<br>High Traffic Volume Handling<br>Guaranteed Uptime<br>Geographic Coverage<br>Security and Anonymity<br>\u2014\u2014\u2014<\/h4>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-3\">\n<div class=\"wp-block-button is-style-fill\"><a class=\"wp-block-button__link has-background wp-element-button\" href=\"https:\/\/www.rapidseedbox.com\/vi\/proxy\/?blog=mitmproxy\" style=\"background-color:#22c55e\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Try Rapidseedbox! \ud83d\udd0d<\/strong><\/a><\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Have you ever felt like you needed a magnifying glass for your network traffic? Meet Mitmproxy.&nbsp; This open-source powerhouse lets you intercept, modify, and analyze HTTP\/1, HTTP\/2, and WebSocket traffic. It is perfect for web developers, network admins, and ideal security professionals.&nbsp; This article covers everything you need to know about Mitmproxy (if you are<\/p>","protected":false},"author":145,"featured_media":24934,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[39],"tags":[807,319,808,743],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Mitmproxy Tutorial: Setup, Usage &amp; Common Fixes (2026)<\/title>\n<meta name=\"description\" content=\"Step-by-step Mitmproxy tutorial covering installation, setup, mitmweb, HTTPS interception, and fixes for common traffic issues.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.rapidseedbox.com\/vi\/blog\/mitmproxy\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mitmproxy Tutorial: Setup, Usage &amp; Common Fixes (2026)\" \/>\n<meta property=\"og:description\" content=\"Step-by-step Mitmproxy tutorial covering installation, setup, mitmweb, HTTPS interception, and fixes for common traffic issues.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.rapidseedbox.com\/vi\/blog\/mitmproxy\" \/>\n<meta property=\"og:site_name\" content=\"RapidSeedbox\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RapidSeedbox\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-06-26T21:26:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-22T11:01:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_Guide-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"519\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Diego Asturias\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@rapidseedbox\" \/>\n<meta name=\"twitter:site\" content=\"@rapidseedbox\" \/>\n<meta name=\"twitter:label1\" content=\"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi\" \/>\n\t<meta name=\"twitter:data1\" content=\"Diego Asturias\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 ph\u00fat\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mitmproxy Tutorial: Setup, Usage & Common Fixes (2026)","description":"Step-by-step Mitmproxy tutorial covering installation, setup, mitmweb, HTTPS interception, and fixes for common traffic issues.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.rapidseedbox.com\/vi\/blog\/mitmproxy","og_locale":"vi_VN","og_type":"article","og_title":"Mitmproxy Tutorial: Setup, Usage & Common Fixes (2026)","og_description":"Step-by-step Mitmproxy tutorial covering installation, setup, mitmweb, HTTPS interception, and fixes for common traffic issues.","og_url":"https:\/\/www.rapidseedbox.com\/vi\/blog\/mitmproxy","og_site_name":"RapidSeedbox","article_publisher":"https:\/\/www.facebook.com\/RapidSeedbox\/","article_published_time":"2024-06-26T21:26:42+00:00","article_modified_time":"2026-06-22T11:01:40+00:00","og_image":[{"width":1000,"height":519,"url":"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Mitmproxy_Guide-1.png","type":"image\/png"}],"author":"Diego Asturias","twitter_card":"summary_large_image","twitter_creator":"@rapidseedbox","twitter_site":"@rapidseedbox","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Diego Asturias","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"16 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"TechArticle","@id":"https:\/\/www.rapidseedbox.com\/blog\/mitmproxy#article","isPartOf":{"@id":"https:\/\/www.rapidseedbox.com\/blog\/mitmproxy"},"author":{"name":"Diego Asturias","@id":"https:\/\/www.rapidseedbox.com\/#\/schema\/person\/7d902abc8c2e39a79e83812028454505"},"headline":"Mitmproxy: The Complete Handbook.","datePublished":"2024-06-26T21:26:42+00:00","dateModified":"2026-06-22T11:01:40+00:00","mainEntityOfPage":{"@id":"https:\/\/www.rapidseedbox.com\/blog\/mitmproxy"},"wordCount":3202,"commentCount":0,"publisher":{"@id":"https:\/\/www.rapidseedbox.com\/#organization"},"keywords":["mitmproxy","proxy","traffic analyzer","Web Debugging"],"articleSection":["blog"],"inLanguage":"vi","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.rapidseedbox.com\/blog\/mitmproxy#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.rapidseedbox.com\/blog\/mitmproxy","url":"https:\/\/www.rapidseedbox.com\/blog\/mitmproxy","name":"Mitmproxy Tutorial: Setup, Usage & Common Fixes (2026)","isPartOf":{"@id":"https:\/\/www.rapidseedbox.com\/#website"},"datePublished":"2024-06-26T21:26:42+00:00","dateModified":"2026-06-22T11:01:40+00:00","description":"Step-by-step Mitmproxy tutorial covering installation, setup, mitmweb, HTTPS interception, and fixes for common traffic issues.","breadcrumb":{"@id":"https:\/\/www.rapidseedbox.com\/blog\/mitmproxy#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.rapidseedbox.com\/blog\/mitmproxy"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.rapidseedbox.com\/blog\/mitmproxy#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.rapidseedbox.com\/"},{"@type":"ListItem","position":2,"name":"blog","item":"https:\/\/www.rapidseedbox.com\/category\/blog"},{"@type":"ListItem","position":3,"name":"Mitmproxy: The Complete Handbook."}]},{"@type":"WebSite","@id":"https:\/\/www.rapidseedbox.com\/#website","url":"https:\/\/www.rapidseedbox.com\/","name":"RapidSeedbox","description":"Seedbox &amp; Dedicated Server provider focused on delivering fast peer-to-peer BitTorrent protocol-based file transfer on remote high-end servers.","publisher":{"@id":"https:\/\/www.rapidseedbox.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.rapidseedbox.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"vi"},{"@type":"Organization","@id":"https:\/\/www.rapidseedbox.com\/#organization","name":"RapidSeedbox","url":"https:\/\/www.rapidseedbox.com\/","logo":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.rapidseedbox.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/logoonly.png","contentUrl":"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/logoonly.png","width":259,"height":261,"caption":"RapidSeedbox"},"image":{"@id":"https:\/\/www.rapidseedbox.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RapidSeedbox\/","https:\/\/twitter.com\/rapidseedbox","https:\/\/www.linkedin.com\/company\/rapidseedbox","https:\/\/www.youtube.com\/@rapidseedbox"]},{"@type":"Person","@id":"https:\/\/www.rapidseedbox.com\/#\/schema\/person\/7d902abc8c2e39a79e83812028454505","name":"Diego Asturias","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.rapidseedbox.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5473e3ab660a5d167e3a25350e963690?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5473e3ab660a5d167e3a25350e963690?s=96&d=mm&r=g","caption":"Diego Asturias"},"description":"Diego Asturias is a tech journalist who translates complex tech jargon into engaging content. He has a degree in Internetworking Tech from Washington DC, US, and tech certifications from Cisco, McAfee, and Wireshark. He has hands-on experience working in Latin America, South Korea, and West Africa. He has been featured in SiliconANGLE Media, Cloudbric, Pcwdld, Hackernoon, ITT Systems, SecurityGladiators, Rapidseedbox, and more.","sameAs":["https:\/\/www.linkedin.com\/in\/diego-asturias-035a539\/"],"url":"https:\/\/www.rapidseedbox.com\/author\/diego"}]}},"_links":{"self":[{"href":"https:\/\/www.rapidseedbox.com\/vi\/wp-json\/wp\/v2\/posts\/24906"}],"collection":[{"href":"https:\/\/www.rapidseedbox.com\/vi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rapidseedbox.com\/vi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rapidseedbox.com\/vi\/wp-json\/wp\/v2\/users\/145"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rapidseedbox.com\/vi\/wp-json\/wp\/v2\/comments?post=24906"}],"version-history":[{"count":10,"href":"https:\/\/www.rapidseedbox.com\/vi\/wp-json\/wp\/v2\/posts\/24906\/revisions"}],"predecessor-version":[{"id":47303,"href":"https:\/\/www.rapidseedbox.com\/vi\/wp-json\/wp\/v2\/posts\/24906\/revisions\/47303"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rapidseedbox.com\/vi\/wp-json\/wp\/v2\/media\/24934"}],"wp:attachment":[{"href":"https:\/\/www.rapidseedbox.com\/vi\/wp-json\/wp\/v2\/media?parent=24906"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rapidseedbox.com\/vi\/wp-json\/wp\/v2\/categories?post=24906"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rapidseedbox.com\/vi\/wp-json\/wp\/v2\/tags?post=24906"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}