aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mitmproxy/proxy/protocol/base.py6
-rw-r--r--mitmproxy/tools/cmdline.py3
2 files changed, 6 insertions, 3 deletions
diff --git a/mitmproxy/proxy/protocol/base.py b/mitmproxy/proxy/protocol/base.py
index 783d1cc8..c535a1a3 100644
--- a/mitmproxy/proxy/protocol/base.py
+++ b/mitmproxy/proxy/protocol/base.py
@@ -109,12 +109,14 @@ class ServerConnectionMixin:
super().__init__()
self.server_conn = None
- if self.config.options.spoof_source_address:
+ if self.config.options.spoof_source_address and self.config.options.upstream_bind_address == '':
self.server_conn = connections.ServerConnection(
server_address, (self.ctx.client_conn.address.host, 0), True)
else:
self.server_conn = connections.ServerConnection(
- server_address, (self.config.options.upstream_bind_address, 0))
+ server_address, (self.config.options.upstream_bind_address, 0),
+ self.config.options.spoof_source_address
+ )
self.__check_self_connect()
diff --git a/mitmproxy/tools/cmdline.py b/mitmproxy/tools/cmdline.py
index 4be107a8..34f1c08f 100644
--- a/mitmproxy/tools/cmdline.py
+++ b/mitmproxy/tools/cmdline.py
@@ -485,7 +485,8 @@ def proxy_options(parser):
group.add_argument(
"--spoof-source-address",
action="store_true", dest="spoof_source_address",
- help="Use the client's IP for server-side connections"
+ help="Use the client's IP for server-side connections. "
+ "Combine with --upstream-bind-address to spoof a fixed source address."
)
group.add_argument(
"--upstream-bind-address",