Add screenshots and an explanation of interception.
This commit is contained in:
Aldo Cortesi 2011-03-19 12:32:44 +13:00
parent 3120b5ce15
commit 6d4bb1faeb
8 changed files with 42 additions and 0 deletions

View File

@ -37,6 +37,8 @@ Requirements
[urwid](http://excess.org/urwid/) library. [urwid](http://excess.org/urwid/) library.
* The test suite uses the [pry](http://github.com/cortesi/pry) unit testing * The test suite uses the [pry](http://github.com/cortesi/pry) unit testing
library. library.
* mitmproxy is tested and developed on OSX, Linux and OpenBSD. You may be able
to get it running using Cygwin on Windows, but don't count on it.
You should also make sure that your console environment is set up with the You should also make sure that your console environment is set up with the
following: following:

View File

@ -1,6 +1,7 @@
* [Introduction](@!urlTo("intro.html")!@) * [Introduction](@!urlTo("intro.html")!@)
* [Interception](@!urlTo("interception.html")!@)
* [Client-side replay](@!urlTo("clientreplay.html")!@) * [Client-side replay](@!urlTo("clientreplay.html")!@)
* [Server-side replay](@!urlTo("serverreplay.html")!@) * [Server-side replay](@!urlTo("serverreplay.html")!@)
* [Sticky cookies](@!urlTo("stickycookies.html")!@) * [Sticky cookies](@!urlTo("stickycookies.html")!@)

View File

@ -56,6 +56,7 @@ ns.filt_help = filt_help
pages = [ pages = [
Page("index.html", "Index"), Page("index.html", "Index"),
Page("intro.html", "Introduction"), Page("intro.html", "Introduction"),
Page("interception.html", "Interception"),
Page("clientreplay.html", "Client-side replay"), Page("clientreplay.html", "Client-side replay"),
Page("serverreplay.html", "Server-side replay"), Page("serverreplay.html", "Server-side replay"),
Page("stickycookies.html", "Sticky cookies"), Page("stickycookies.html", "Sticky cookies"),

38
doc-src/interception.html Normal file
View File

@ -0,0 +1,38 @@
__mitmproxy__'s interception functionality lets you pause an HTTP request or
response, inspect and modify it, and then accept it to send it on to the server
or client. Because this is an interactive function, it's only present in
__mitmproxy__, not in __mitmdump__.
### 1: Set an interception pattern
<img src="@!urlTo('intercept-filt.png')!@"/>
We press __i__ to set an interception pattern. In this case, the __~q__ filter
pattern tells __mitmproxy__ to intercept all requests. For complete filter
syntax, see the [Filter expressions](@!urlTo("filters.html")!@) section of this
document, or the built-in help function in __mitmproxy__.
### 2: Intercepted conenctions are indicated with a red exclamation mark:
<img src="@!urlTo('intercept-mid.png')!@"/>
### 3: You can now view and modify the request:
<img src="@!urlTo('intercept-options.png')!@"/>
In this case, we viewd the request by selecting it, pressed __e__ for "edit"
and __m__ for "method" to change the HTTP request method.
### 4: Accept the intercept to continue
<img src="@!urlTo('intercept-result.png')!@"/>
Finally, we press __a__ to accept the modified request, which is then sent on
to the server. In this case, we changed the request from an HTTP GET to to
OPTIONS, and Google's server has responded with a 405 "Method not allowed".

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB