diff --git a/README.mkd b/README.mkd index 0e135b372..5c6e3e2f9 100644 --- a/README.mkd +++ b/README.mkd @@ -37,6 +37,8 @@ Requirements [urwid](http://excess.org/urwid/) library. * The test suite uses the [pry](http://github.com/cortesi/pry) unit testing 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 following: diff --git a/doc-src/index.html b/doc-src/index.html index 04113609f..dbbee537f 100644 --- a/doc-src/index.html +++ b/doc-src/index.html @@ -1,6 +1,7 @@ * [Introduction](@!urlTo("intro.html")!@) +* [Interception](@!urlTo("interception.html")!@) * [Client-side replay](@!urlTo("clientreplay.html")!@) * [Server-side replay](@!urlTo("serverreplay.html")!@) * [Sticky cookies](@!urlTo("stickycookies.html")!@) diff --git a/doc-src/index.py b/doc-src/index.py index c2d995a54..b6a0caca8 100644 --- a/doc-src/index.py +++ b/doc-src/index.py @@ -56,6 +56,7 @@ ns.filt_help = filt_help pages = [ Page("index.html", "Index"), Page("intro.html", "Introduction"), + Page("interception.html", "Interception"), Page("clientreplay.html", "Client-side replay"), Page("serverreplay.html", "Server-side replay"), Page("stickycookies.html", "Sticky cookies"), diff --git a/doc-src/interception.html b/doc-src/interception.html new file mode 100644 index 000000000..cf5b7439a --- /dev/null +++ b/doc-src/interception.html @@ -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 + + + +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: + + + +### 3: You can now view and modify the request: + + + +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 + + + +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". + + + + diff --git a/doc-src/screenshots/intercept-filt.png b/doc-src/screenshots/intercept-filt.png new file mode 100644 index 000000000..26884511b Binary files /dev/null and b/doc-src/screenshots/intercept-filt.png differ diff --git a/doc-src/screenshots/intercept-mid.png b/doc-src/screenshots/intercept-mid.png new file mode 100644 index 000000000..7c8049b04 Binary files /dev/null and b/doc-src/screenshots/intercept-mid.png differ diff --git a/doc-src/screenshots/intercept-options.png b/doc-src/screenshots/intercept-options.png new file mode 100644 index 000000000..2d9d6ece2 Binary files /dev/null and b/doc-src/screenshots/intercept-options.png differ diff --git a/doc-src/screenshots/intercept-result.png b/doc-src/screenshots/intercept-result.png new file mode 100644 index 000000000..f02aea7e5 Binary files /dev/null and b/doc-src/screenshots/intercept-result.png differ