2011-03-18 23:32:44 +00:00
|
|
|
|
|
|
|
__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__.
|
|
|
|
|
2011-03-29 23:05:50 +00:00
|
|
|
### 2: Intercepted connections are indicated with a red exclamation mark:
|
2011-03-18 23:32:44 +00:00
|
|
|
|
|
|
|
<img src="@!urlTo('intercept-mid.png')!@"/>
|
|
|
|
|
|
|
|
### 3: You can now view and modify the request:
|
|
|
|
|
|
|
|
<img src="@!urlTo('intercept-options.png')!@"/>
|
|
|
|
|
2011-03-29 23:05:50 +00:00
|
|
|
In this case, we viewed the request by selecting it, pressed __e__ for "edit"
|
2011-03-18 23:32:44 +00:00
|
|
|
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".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|