diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2011-03-31 11:28:58 +1300 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2011-03-31 11:28:58 +1300 |
commit | c6075e1d93c61eab35bb3e0ae56337e579fea403 (patch) | |
tree | 3be78775f1de13dbdd3be7ed47814d1d3e290ce6 /doc-src/tutorials | |
parent | 3906f0661701cb8d92f2daa5b3198b0ab45a526f (diff) | |
download | mitmproxy-c6075e1d93c61eab35bb3e0ae56337e579fea403.tar.gz mitmproxy-c6075e1d93c61eab35bb3e0ae56337e579fea403.tar.bz2 mitmproxy-c6075e1d93c61eab35bb3e0ae56337e579fea403.zip |
Add the 30-second client replay tutorial to the docs.
It's verbatim from the blog post at the moment - I might edit it a bit before
pushing it to mitmproxy.org.
Diffstat (limited to 'doc-src/tutorials')
-rw-r--r-- | doc-src/tutorials/30second.html | 61 | ||||
-rw-r--r-- | doc-src/tutorials/index.py | 5 | ||||
-rw-r--r-- | doc-src/tutorials/mitmdump.html | 0 |
3 files changed, 66 insertions, 0 deletions
diff --git a/doc-src/tutorials/30second.html b/doc-src/tutorials/30second.html new file mode 100644 index 00000000..cfeca49a --- /dev/null +++ b/doc-src/tutorials/30second.html @@ -0,0 +1,61 @@ + +My local cafe is serviced by a rickety and unreliable wireless network, +generously sponsored with ratepayers' money by our city council. After +connecting, you are redirected to an SSL-protected page that prompts you for a +username and password. Once you've entered your details, you are free to enjoy +the intermittent dropouts, treacle-like speeds and incorrectly configured +transparent proxy. + +I tend to automate this kind of thing at the first opportunity, on the theory +that time spent now will be more than made up in the long run. In this case, I +might use [Firebug](http://getfirebug.com/) to ferret out the form post +parameters and target URL, then fire up an editor to write a little script +using Python's [urllib](http://docs.python.org/library/urllib.html) to simulate +a submission. That's a lot of futzing about. With mitmproxy we can do the job +in literally 30 seconds, without having to worry about any of the details. +Here's how. + +## 1. Run mitmdump to record our HTTP conversation to a file. + +<pre class="terminal"> +> mitmdump -w wireless-login +</pre> + +## 2. Point your browser at the mitmdump instance. + +I use a tiny Firefox addon called [Toggle +Proxy](https://addons.mozilla.org/en-us/firefox/addon/toggle-proxy-51740/) to +switch quickly to and from mitmproxy. I'm assuming you've already [configured +your browser with mitmproxy's SSL certificate +authority](http://mitmproxy.org/doc/ssl.html). + +## 3. Log in as usual. + + +And that's it! You now have a serialized version of the login process in the +file wireless-login, and you can replay it at any time like this: + +<pre class="terminal"> +> mitmdump -c wireless-login +</pre> + +## Embellishments + +We're really done at this point, but there are a couple of embellishments we +could make if we wanted. I use [wicd](http://wicd.sourceforge.net/) to +automatically join wireless networks I frequent, and it lets me specify a +command to run after connecting. I used the client replay command above and +voila! - totally hands-free wireless network startup. + +We might also want to prune requests that download CSS, JS, images and so +forth. These add only a few moments to the time it takes to replay, but they're +not really needed and I somehow feel compelled trim them anyway. So, we fire up +the mitmproxy console tool on our serialized conversation, like so: + +<pre class="terminal"> +> mitmproxy wireless-login +</pre> + +We can now go through and manually delete (using the __d__ keyboard shortcut) +everything we want to trim. When we're done, we use __S__ to save the +conversation back to the file. diff --git a/doc-src/tutorials/index.py b/doc-src/tutorials/index.py new file mode 100644 index 00000000..00da64cb --- /dev/null +++ b/doc-src/tutorials/index.py @@ -0,0 +1,5 @@ +from countershape import Page + +pages = [ + Page("30second.html", "Client playback: a 30 second example"), +] diff --git a/doc-src/tutorials/mitmdump.html b/doc-src/tutorials/mitmdump.html deleted file mode 100644 index e69de29b..00000000 --- a/doc-src/tutorials/mitmdump.html +++ /dev/null |