fix tcp example

This commit is contained in:
Thomas Kriechbaumer 2018-05-11 11:58:01 +02:00
parent ab89079c65
commit e305a320a2
1 changed files with 11 additions and 12 deletions

View File

@ -6,23 +6,22 @@ tcp_message Inline Script Hook API Demonstration
* prints various details for each packet. * prints various details for each packet.
example cmdline invocation: example cmdline invocation:
mitmdump -T --host --tcp ".*" -q -s examples/tcp_message.py mitmdump --rawtcp --tcp-host ".*" -s examples/complex/tcp_message.py
""" """
from mitmproxy.utils import strutils from mitmproxy.utils import strutils
from mitmproxy import ctx from mitmproxy import ctx
from mitmproxy import tcp
def tcp_message(tcp_msg): def tcp_message(flow: tcp.TCPFlow):
modified_msg = tcp_msg.message.replace("foo", "bar") message = flow.messages[-1]
old_content = message.content
is_modified = False if modified_msg == tcp_msg.message else True message.content = old_content.replace(b"foo", b"bar")
tcp_msg.message = modified_msg
ctx.log.info( ctx.log.info(
"[tcp_message{}] from {} {} to {} {}:\r\n{}".format( "[tcp_message{}] from {} to {}:\n{}".format(
" (modified)" if is_modified else "", " (modified)" if message.content != old_content else "",
"client" if tcp_msg.sender == tcp_msg.client_conn else "server", "client" if message.from_client else "server",
tcp_msg.sender.address, "server" if message.from_client else "client",
"server" if tcp_msg.receiver == tcp_msg.server_conn else "client", strutils.bytes_to_escaped_str(message.content))
tcp_msg.receiver.address, strutils.bytes_to_escaped_str(tcp_msg.message))
) )