add documentation about mitmweb

This commit is contained in:
Toshiaki Tanaka 2021-07-31 15:32:34 +09:00
parent 4f5c615818
commit 6a6a454774
17 changed files with 110 additions and 0 deletions

View File

@ -0,0 +1,47 @@
---
title: "Intercept Requests"
layout: single
menu:
mitmweb:
weight: 2
---
# Intercept Reqeusts
You can intercept HTTP communications using mitmproxy filter expression. The intercepted communications can be modified and resumed.
The intercepted communications is displayed in orange in the flow table like the following.
{{< figure src="/screenshots/intercepted-flow.png" >}}
## how to set a filter in mitmweb
There are 2 ways to set a filter in mitmweb.
{{< figure src="/screenshots/start-menu2.png" >}}
First, you can specify a filter by entering it in the input field of the start menu.
{{< figure src="/screenshots/quick-actions-menu.png" >}}
Second, you can specify the interception filter from the quick action menu in the flow table.
## how to modify intercepted flows in mitmweb
{{< figure src="/screenshots/pre-edit.png" >}}
When you click a row in the flow table, flow view corresponding to the flow appears. You can edit HTTP headers and content by pressing the pensil button in the upper right of the flow view.
{{< figure src="/screenshots/post-edit.png" >}}
When you finish modifying the flow, press the check button in the same place as the pensil button was. The change will be applied to the flow.
## how to resume intercepted flows in mitmweb
{{< figure src="/screenshots/resume-flow.png" >}}
There are two ways to resume intercepted flows.
The first one is select the intercepted flow in the flow table and move to the flow section in main menu. Then, press the resume button in the menu.
The other one is press the green arrow button in the right side of the flow row in the flow table. This method is convenient because it allows you to resume the intercepted flow with one click!

View File

@ -0,0 +1,60 @@
---
title: "User Interface"
layout: single
menu:
mitmweb:
weight: 1
---
# Overview
The following image shows the overall picture of mitmweb. Each component is described below.
{{< figure src="/screenshots/mitmweb-overview.png" >}}
## main menu
The main menu is the area at the top of the screen, and has four sections (mitmproxy, Start, Options, Flow).
### mitmproxy menu
{{< figure src="/screenshots/mitmweb-dropdown.png" >}}
You can save the flows and open the saved flows. You can also clear all the flows in the flow table.
### start menu
{{< figure src="/screenshots/start-menu1.png" >}}
{{< figure src="/screenshots/start-menu2.png" >}}
You can search, highlight and filter flows using filter expressions in mitmproxy. All intercepted flows are resumed by pressing "Resume All" button.
### options menu
{{< figure src="/screenshots/options-menu.png" >}}
You can edit all available options in mitmweb by pressing the "Edit Options" button.
### flow menu
{{< figure src="/screenshots/main-menu.png" >}}
You can replay, duplicate, revert and delete the selected flow using the buttons. If the selected flow is intercepted, you can also resume or abort it.
## flow table
{{< figure src="/screenshots/flow-table.png" >}}
You can view all HTTP traffic going through mitmweb here. When you hover your mouse over each line, a quick-actions menu appears in the right side. The quick-actions menu have some useful functionalities, where you can copy the flow as various formats and make an interception rule related to the flow.
## flow view
{{< figure src="/screenshots/flow-view.png" >}}
When you click a row of the flow table, the flow view for the selected flow appears. The flow view has three sections (Request, Response, Details).
### Request section
This section shows you HTTP request headers and content. You can edit HTTP headers and content by clicking the pencil button in the upper right of the image.
### Response section
This section shows you HTTP response headers and content. You can edit HTTP headers and content by clicking the pencil button in the upper right of the image.
### Details section
This section shows you TLS connection info and timestamps.
## command bar
{{< figure src="/screenshots/command-bar.png" >}}
You can use powerful mitmproxy commands here. The input field has autocompletion functionality. If you press Tab, the input field is autocompleted from the available commands. The popup shows you the command description, arguments, and its return value.

View File

@ -22,4 +22,7 @@
<p class="menu-label"> Tutorials </p>
{{ partial "sidemenu" (dict "ctx" . "menuname" "tutes") }}
<p class="menu-label">Mitmweb</p>
{{ partial "sidemenu" (dict "ctx" . "menuname" "mitmweb") }}
</nav>

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB