Docs, examples.
This commit is contained in:
parent
5ceef16486
commit
c34d1e3de6
|
@ -1,19 +1,23 @@
|
|||
|
||||
How to install the __mitmproxy__ certificate authority in Firefox:
|
||||
|
||||
### 1. If needed, copy the ~/.mitmproxy/mitmproxy-ca-cert.pem file to the target.
|
||||
<ol>
|
||||
<li> If needed, copy the ~/.mitmproxy/mitmproxy-ca-cert.pem file to the target. </li>
|
||||
|
||||
### 2: Open preferences, click on "Advanced", then select"Encryption":
|
||||
<li>Open preferences, click on "Advanced", then select"Encryption":
|
||||
<img src="@!urlTo('firefox3.jpg')!@"/>
|
||||
</li>
|
||||
|
||||
<img src="@!urlTo('firefox3.jpg')!@"/>
|
||||
<li> Click "View Certificates", "Import", and select the certificate file:
|
||||
<img src="@!urlTo('firefox3-import.jpg')!@"/>
|
||||
</li>
|
||||
|
||||
### 3: Click "View Certificates", "Import", and select the certificate file:
|
||||
<li>Tick "Trust this CS to identify web sites", and click "Ok":
|
||||
<img src="@!urlTo('firefox3-trust.jpg')!@"/>
|
||||
</li>
|
||||
|
||||
<img src="@!urlTo('firefox3-import.jpg')!@"/>
|
||||
<li> You should now see the mitmproxy certificate listed in the Authorities
|
||||
tab.</li>
|
||||
|
||||
### 4: Tick "Trust this CS to identify web sites", and click "Ok":
|
||||
|
||||
<img src="@!urlTo('firefox3-trust.jpg')!@"/>
|
||||
|
||||
You should now see the mitmproxy certificate listed in the Authorities tab.
|
||||
</ol>
|
||||
|
||||
|
|
|
@ -1,18 +1,21 @@
|
|||
|
||||
How to install the __mitmproxy__ certificate authority on IOS devices:
|
||||
|
||||
### 1: Set up the Mail app on the device to receive email.
|
||||
<ol>
|
||||
<li>Set up the Mail app on the device to receive email.</li>
|
||||
|
||||
### 2: Mail the mitmproxy-ca-cert.pem file to the device, and tap on the attachment.
|
||||
<li>Mail the mitmproxy-ca-cert.pem file to the device, and tap on the attachment.</li>
|
||||
|
||||
### 3: You will be prompted to install a profile. Click "Install":
|
||||
<li>You will be prompted to install a profile. Click "Install":
|
||||
|
||||
<img src="@!urlTo('ios-profile.png')!@"/>
|
||||
<img src="@!urlTo('ios-profile.png')!@"/></li>
|
||||
|
||||
### 4: Accept the warning by clicking "Install" again:
|
||||
<li>Accept the warning by clicking "Install" again:
|
||||
|
||||
<img src="@!urlTo('ios-warning.png')!@"/>
|
||||
<img src="@!urlTo('ios-warning.png')!@"/></li>
|
||||
|
||||
### 5: The certificate should now be trusted:
|
||||
<li>The certificate should now be trusted:
|
||||
|
||||
<img src="@!urlTo('ios-installed.png')!@"/>
|
||||
<img src="@!urlTo('ios-installed.png')!@"/></li>
|
||||
|
||||
</ol>
|
||||
|
|
|
@ -1,13 +1,16 @@
|
|||
|
||||
How to install the __mitmproxy__ certificate authority in OSX:
|
||||
|
||||
### 1: Open Finder, and double-click on the mitmproxy-ca-cert.pem file.
|
||||
<ol>
|
||||
|
||||
<li>Open Finder, and double-click on the mitmproxy-ca-cert.pem file.</li>
|
||||
|
||||
### 2: You will be prompted to add the certificate. Click "Always Trust":
|
||||
<li>You will be prompted to add the certificate. Click "Always Trust":
|
||||
|
||||
<img src="@!urlTo('osx-addcert-alwaystrust.png')!@"/>
|
||||
<img src="@!urlTo('osx-addcert-alwaystrust.png')!@"/>
|
||||
</li>
|
||||
|
||||
You may be prompted for your password. You should now see the mitmproxy cert
|
||||
listed under "Certificates".
|
||||
<li> You may be prompted for your password. You should now see the
|
||||
mitmproxy cert listed under "Certificates".</li>
|
||||
</ol>
|
||||
|
||||
|
|
|
@ -1,19 +1,32 @@
|
|||
|
||||
How to install the __mitmproxy__ certificate authority in Windows 7:
|
||||
|
||||
### 1: Copy the ~/.mitmproxy/mitmproxy-ca-cert.p12 file to the target system.
|
||||
<ol>
|
||||
|
||||
### 2: Double-click the certificate file. You should see a certificate import wizard:
|
||||
<li> Copy the ~/.mitmproxy/mitmproxy-ca-cert.p12 file to the target system. </li>
|
||||
|
||||
<img src="@!urlTo('win7-wizard.png')!@"/>
|
||||
<li>
|
||||
Double-click the certificate file. You should see a certificate import wizard:
|
||||
|
||||
### 3: Click "Next" until you're prompted for the certificate store:
|
||||
<img src="@!urlTo('win7-wizard.png')!@"/>
|
||||
</li>
|
||||
|
||||
<img src="@!urlTo('win7-certstore.png')!@"/>
|
||||
<li>
|
||||
Click "Next" until you're prompted for the certificate store:
|
||||
|
||||
### 4: Select "Place all certificates in the following store", and select "Trusted Root Certification Authorities":
|
||||
<img src="@!urlTo('win7-certstore.png')!@"/>
|
||||
|
||||
<img src="@!urlTo('win7-certstore-trustedroot.png')!@"/>
|
||||
</li>
|
||||
|
||||
### 5: Click "Next" and "Finish".
|
||||
|
||||
<li>
|
||||
<p>Select "Place all certificates in the following store", and select "Trusted Root Certification Authorities":</p>
|
||||
|
||||
<img src="@!urlTo('win7-certstore-trustedroot.png')!@"/>
|
||||
|
||||
</li>
|
||||
|
||||
<li> Click "Next" and "Finish". </li>
|
||||
|
||||
</ol>
|
||||
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
|
||||
|
||||
Asks the user for authentication before they are permitted to use the proxy.
|
||||
Authentication headers are stripped from the flows, so they are not passed to
|
||||
upstream servers. For now, only HTTP Basic authentication is supported.
|
||||
upstream servers. For now, only HTTP Basic authentication is supported. The
|
||||
proxy auth options are ignored if the proxy is in transparent or reverse proxy
|
||||
mode.
|
||||
|
||||
<table class="table">
|
||||
<tbody>
|
||||
|
|
|
@ -22,8 +22,7 @@ with the secured resources.
|
|||
<th width="20%">command-line</th>
|
||||
<td>
|
||||
<ul>
|
||||
<li>-t (sticky cookies on all requests)</li>
|
||||
<li>-T FILTER (sticky cookies on requests matching filter</li>
|
||||
<li>-t FILTER</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -48,8 +47,7 @@ replay of HTTP Digest authentication.
|
|||
<th width="20%">command-line</th>
|
||||
<td>
|
||||
<ul>
|
||||
<li>-u (sticky auth on all requests)</li>
|
||||
<li>-U FILTER (sticky auth on requests matching filter</li>
|
||||
<li>-u FILTER</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -27,11 +27,12 @@ def mpath(p):
|
|||
ns.index_contents = file(mpath("README.mkd")).read()
|
||||
|
||||
def example(s):
|
||||
d = file(mpath(s)).read()
|
||||
d = file(mpath(s)).read().rstrip()
|
||||
extemp = """<div class="example">%s<div class="example_legend">(%s)</div></div>"""
|
||||
return extemp%(countershape.template.Syntax("py")(d), s)
|
||||
ns.example = example
|
||||
|
||||
|
||||
filt_help = []
|
||||
for i in filt.filt_unary:
|
||||
filt_help.append(
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
|
||||
__mitmproxy__ is a console tool that allows interactive examination and
|
||||
modification of HTTP traffic. Use the _?_ shortcut key to view,
|
||||
context-sensitive documentation from any __mitmproxy__ screen.
|
||||
modification of HTTP traffic. It differs from mitmdump in that all flows are
|
||||
kept in memory, which means that it's intended for taking and manipulating
|
||||
small-ish samples. Use the _?_ shortcut key to view, context-sensitive
|
||||
documentation from any __mitmproxy__ screen.
|
||||
|
||||
## Flow list
|
||||
|
||||
|
|
|
@ -13,6 +13,15 @@ lets the script interact with the global mitmproxy state. The __response__
|
|||
event also gets an instance of Flow, which we can use to manipulate the
|
||||
response itself.
|
||||
|
||||
We can now run this script as follows:
|
||||
|
||||
<pre class="terminal">
|
||||
> mitmdump -s add_header.py
|
||||
</pre>
|
||||
|
||||
The new header will be added to all responses passing through the proxy.
|
||||
|
||||
|
||||
|
||||
## Events
|
||||
|
||||
|
@ -60,7 +69,7 @@ Called once on script shutdown, after any other events.
|
|||
|
||||
The main classes you will deal with in writing mitmproxy scripts are:
|
||||
|
||||
<table class="kvtable">
|
||||
<table class="table">
|
||||
<tr>
|
||||
<th>libmproxy.flow.ClientConnection</th>
|
||||
<td>Describes a client connection.</td>
|
||||
|
|
|
@ -3,7 +3,7 @@ The first time __mitmproxy__ or __mitmdump__ is started, the following set of
|
|||
certificate files for a dummy Certificate Authority are created in the config
|
||||
directory (~/.mitmproxy by default):
|
||||
|
||||
<table>
|
||||
<table class="table">
|
||||
<tr>
|
||||
<td>mitmproxy-ca.pem</td>
|
||||
<td>The private key and certificate in PEM format.</td>
|
||||
|
@ -17,6 +17,11 @@ directory (~/.mitmproxy by default):
|
|||
<td>mitmproxy-ca-cert.p12</td>
|
||||
<td>The certificate in PKCS12 format. For use on Windows.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>mitmproxy-ca-cert.cer</td>
|
||||
<td>Same file as .pem, but with an extension expected by some Android
|
||||
devices.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
This CA is used for on-the-fly generation of dummy certificates for SSL
|
||||
|
|
|
@ -3,6 +3,7 @@ dup_and_replay.py Duplicates each request, changes it, and then replays th
|
|||
flowbasic Basic use of mitmproxy as a library.
|
||||
modify_form.py Modify all form submissions to add a parameter.
|
||||
modify_querystring.py Modify all query strings to add a parameters.
|
||||
proxapp How to embed a WSGI app in a mitmproxy server
|
||||
stub.py Script stub with a method definition for every event.
|
||||
stickycookies An example of writing a custom proxy with libmproxy.
|
||||
upsidedownternet.py Rewrites traffic to turn PNGs upside down.
|
||||
|
|
Loading…
Reference in New Issue