mirror of
https://github.com/Grasscutters/mitmproxy.git
synced 2024-11-30 03:14:22 +00:00
Docs, examples.
This commit is contained in:
parent
5ceef16486
commit
c34d1e3de6
@ -1,19 +1,23 @@
|
|||||||
|
|
||||||
How to install the __mitmproxy__ certificate authority in Firefox:
|
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')!@"/>
|
<img src="@!urlTo('firefox3.jpg')!@"/>
|
||||||
|
</li>
|
||||||
|
|
||||||
### 3: Click "View Certificates", "Import", and select the certificate file:
|
<li> Click "View Certificates", "Import", and select the certificate file:
|
||||||
|
|
||||||
<img src="@!urlTo('firefox3-import.jpg')!@"/>
|
<img src="@!urlTo('firefox3-import.jpg')!@"/>
|
||||||
|
</li>
|
||||||
|
|
||||||
### 4: Tick "Trust this CS to identify web sites", and click "Ok":
|
<li>Tick "Trust this CS to identify web sites", and click "Ok":
|
||||||
|
|
||||||
<img src="@!urlTo('firefox3-trust.jpg')!@"/>
|
<img src="@!urlTo('firefox3-trust.jpg')!@"/>
|
||||||
|
</li>
|
||||||
|
|
||||||
You should now see the mitmproxy certificate listed in the Authorities tab.
|
<li> You should now see the mitmproxy certificate listed in the Authorities
|
||||||
|
tab.</li>
|
||||||
|
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
@ -1,18 +1,21 @@
|
|||||||
|
|
||||||
How to install the __mitmproxy__ certificate authority on IOS devices:
|
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:
|
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
|
<li> You may be prompted for your password. You should now see the
|
||||||
listed under "Certificates".
|
mitmproxy cert listed under "Certificates".</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
@ -1,19 +1,32 @@
|
|||||||
|
|
||||||
How to install the __mitmproxy__ certificate authority in Windows 7:
|
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>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
Double-click the certificate file. You should see a certificate import wizard:
|
||||||
|
|
||||||
<img src="@!urlTo('win7-wizard.png')!@"/>
|
<img src="@!urlTo('win7-wizard.png')!@"/>
|
||||||
|
</li>
|
||||||
|
|
||||||
### 3: Click "Next" until you're prompted for the certificate store:
|
<li>
|
||||||
|
Click "Next" until you're prompted for the certificate store:
|
||||||
|
|
||||||
<img src="@!urlTo('win7-certstore.png')!@"/>
|
<img src="@!urlTo('win7-certstore.png')!@"/>
|
||||||
|
|
||||||
### 4: Select "Place all certificates in the following store", and select "Trusted Root Certification Authorities":
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<p>Select "Place all certificates in the following store", and select "Trusted Root Certification Authorities":</p>
|
||||||
|
|
||||||
<img src="@!urlTo('win7-certstore-trustedroot.png')!@"/>
|
<img src="@!urlTo('win7-certstore-trustedroot.png')!@"/>
|
||||||
|
|
||||||
### 5: Click "Next" and "Finish".
|
</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.
|
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
|
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">
|
<table class="table">
|
||||||
<tbody>
|
<tbody>
|
||||||
|
@ -22,8 +22,7 @@ with the secured resources.
|
|||||||
<th width="20%">command-line</th>
|
<th width="20%">command-line</th>
|
||||||
<td>
|
<td>
|
||||||
<ul>
|
<ul>
|
||||||
<li>-t (sticky cookies on all requests)</li>
|
<li>-t FILTER</li>
|
||||||
<li>-T FILTER (sticky cookies on requests matching filter</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -48,8 +47,7 @@ replay of HTTP Digest authentication.
|
|||||||
<th width="20%">command-line</th>
|
<th width="20%">command-line</th>
|
||||||
<td>
|
<td>
|
||||||
<ul>
|
<ul>
|
||||||
<li>-u (sticky auth on all requests)</li>
|
<li>-u FILTER</li>
|
||||||
<li>-U FILTER (sticky auth on requests matching filter</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -27,11 +27,12 @@ def mpath(p):
|
|||||||
ns.index_contents = file(mpath("README.mkd")).read()
|
ns.index_contents = file(mpath("README.mkd")).read()
|
||||||
|
|
||||||
def example(s):
|
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>"""
|
extemp = """<div class="example">%s<div class="example_legend">(%s)</div></div>"""
|
||||||
return extemp%(countershape.template.Syntax("py")(d), s)
|
return extemp%(countershape.template.Syntax("py")(d), s)
|
||||||
ns.example = example
|
ns.example = example
|
||||||
|
|
||||||
|
|
||||||
filt_help = []
|
filt_help = []
|
||||||
for i in filt.filt_unary:
|
for i in filt.filt_unary:
|
||||||
filt_help.append(
|
filt_help.append(
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
|
|
||||||
__mitmproxy__ is a console tool that allows interactive examination and
|
__mitmproxy__ is a console tool that allows interactive examination and
|
||||||
modification of HTTP traffic. Use the _?_ shortcut key to view,
|
modification of HTTP traffic. It differs from mitmdump in that all flows are
|
||||||
context-sensitive documentation from any __mitmproxy__ screen.
|
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
|
## 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
|
event also gets an instance of Flow, which we can use to manipulate the
|
||||||
response itself.
|
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
|
## 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:
|
The main classes you will deal with in writing mitmproxy scripts are:
|
||||||
|
|
||||||
<table class="kvtable">
|
<table class="table">
|
||||||
<tr>
|
<tr>
|
||||||
<th>libmproxy.flow.ClientConnection</th>
|
<th>libmproxy.flow.ClientConnection</th>
|
||||||
<td>Describes a client connection.</td>
|
<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
|
certificate files for a dummy Certificate Authority are created in the config
|
||||||
directory (~/.mitmproxy by default):
|
directory (~/.mitmproxy by default):
|
||||||
|
|
||||||
<table>
|
<table class="table">
|
||||||
<tr>
|
<tr>
|
||||||
<td>mitmproxy-ca.pem</td>
|
<td>mitmproxy-ca.pem</td>
|
||||||
<td>The private key and certificate in PEM format.</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>mitmproxy-ca-cert.p12</td>
|
||||||
<td>The certificate in PKCS12 format. For use on Windows.</td>
|
<td>The certificate in PKCS12 format. For use on Windows.</td>
|
||||||
</tr>
|
</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>
|
</table>
|
||||||
|
|
||||||
This CA is used for on-the-fly generation of dummy certificates for SSL
|
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.
|
flowbasic Basic use of mitmproxy as a library.
|
||||||
modify_form.py Modify all form submissions to add a parameter.
|
modify_form.py Modify all form submissions to add a parameter.
|
||||||
modify_querystring.py Modify all query strings to add a parameters.
|
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.
|
stub.py Script stub with a method definition for every event.
|
||||||
stickycookies An example of writing a custom proxy with libmproxy.
|
stickycookies An example of writing a custom proxy with libmproxy.
|
||||||
upsidedownternet.py Rewrites traffic to turn PNGs upside down.
|
upsidedownternet.py Rewrites traffic to turn PNGs upside down.
|
||||||
|
Loading…
Reference in New Issue
Block a user