aboutsummaryrefslogtreecommitdiffstats
path: root/docs/transparent/linux.rst
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2016-02-18 11:27:40 +0100
committerMaximilian Hils <git@maximilianhils.com>2016-02-18 11:27:40 +0100
commitbf024cd15320119e341cdf9bf0fd4d69df233c64 (patch)
tree05a6338d94c665421ae1eab07f14aed61b8bd2b1 /docs/transparent/linux.rst
parentf42af9061220ec0373e94e96b69434575f60281d (diff)
parent31ab3a231e540815009ffe5aeae108db2babd8a9 (diff)
downloadmitmproxy-bf024cd15320119e341cdf9bf0fd4d69df233c64.tar.gz
mitmproxy-bf024cd15320119e341cdf9bf0fd4d69df233c64.tar.bz2
mitmproxy-bf024cd15320119e341cdf9bf0fd4d69df233c64.zip
Merge branch 'master' of https://github.com/mitmproxy/mitmproxy
Diffstat (limited to 'docs/transparent/linux.rst')
-rw-r--r--docs/transparent/linux.rst45
1 files changed, 45 insertions, 0 deletions
diff --git a/docs/transparent/linux.rst b/docs/transparent/linux.rst
new file mode 100644
index 00000000..ce79128c
--- /dev/null
+++ b/docs/transparent/linux.rst
@@ -0,0 +1,45 @@
+.. _linux:
+
+Linux
+=====
+
+On Linux, mitmproxy integrates with the iptables redirection mechanism to
+achieve transparent mode.
+
+ 1. :ref:`Install the mitmproxy certificate on the test device <certinstall>`
+
+ 2. Enable IP forwarding:
+
+ >>> sysctl -w net.ipv4.ip_forward=1
+
+ You may also want to consider enabling this permanently in ``/etc/sysctl.conf``.
+
+ 3. If your target machine is on the same physical network and you configured it to use a custom
+ gateway, disable ICMP redirects:
+
+ >>> echo 0 | sudo tee /proc/sys/net/ipv4/conf/*/send_redirects
+
+ You may also want to consider enabling this permanently in ``/etc/sysctl.conf``
+ as demonstrated `here <https://unix.stackexchange.com/a/58081>`_.
+
+ 4. Create an iptables ruleset that redirects the desired traffic to the
+ mitmproxy port. Details will differ according to your setup, but the
+ ruleset should look something like this:
+
+ .. code-block:: none
+
+ iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
+ iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8080
+
+ 5. Fire up mitmproxy. You probably want a command like this:
+
+ >>> mitmproxy -T --host
+
+ The :option:`-T` flag turns on transparent mode, and the :option:`--host`
+ argument tells mitmproxy to use the value of the Host header for URL display.
+
+ 6. Finally, configure your test device to use the host on which mitmproxy is
+ running as the default gateway.
+
+
+For a detailed walkthrough, have a look at the :ref:`transparent-dhcp` tutorial.