aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/console
diff options
context:
space:
mode:
Diffstat (limited to 'libmproxy/console')
-rw-r--r--libmproxy/console/__init__.py4
-rw-r--r--libmproxy/console/common.py6
-rw-r--r--libmproxy/console/flowdetailview.py35
3 files changed, 25 insertions, 20 deletions
diff --git a/libmproxy/console/__init__.py b/libmproxy/console/__init__.py
index a316602c..d92561f2 100644
--- a/libmproxy/console/__init__.py
+++ b/libmproxy/console/__init__.py
@@ -197,7 +197,7 @@ class StatusBar(common.WWrap):
]
if self.master.server.bound:
- boundaddr = "[%s:%s]"%(self.master.server.address or "*", self.master.server.port)
+ boundaddr = "[%s:%s]"%(self.master.server.address.host or "*", self.master.server.address.port)
else:
boundaddr = ""
t.extend(self.get_status())
@@ -1008,7 +1008,7 @@ class ConsoleMaster(flow.FlowMaster):
self.statusbar.refresh_flow(c)
def process_flow(self, f, r):
- if self.state.intercept and f.match(self.state.intercept) and not f.request.is_replay():
+ if self.state.intercept and f.match(self.state.intercept) and not f.request.is_replay:
f.intercept()
else:
r.reply()
diff --git a/libmproxy/console/common.py b/libmproxy/console/common.py
index 951d2c2a..715bed80 100644
--- a/libmproxy/console/common.py
+++ b/libmproxy/console/common.py
@@ -172,7 +172,7 @@ def format_flow(f, focus, extended=False, hostheader=False, padding=2):
intercepting = f.intercepting,
req_timestamp = f.request.timestamp_start,
- req_is_replay = f.request.is_replay(),
+ req_is_replay = f.request.is_replay,
req_method = f.request.method,
req_acked = f.request.reply.acked,
req_url = f.request.get_url(hostheader=hostheader),
@@ -189,12 +189,12 @@ def format_flow(f, focus, extended=False, hostheader=False, padding=2):
contentdesc = "[no content]"
delta = f.response.timestamp_end - f.response.timestamp_start
- size = len(f.response.content) + f.response.get_header_size()
+ size = f.response.size()
rate = utils.pretty_size(size / ( delta if delta > 0 else 1 ) )
d.update(dict(
resp_code = f.response.code,
- resp_is_replay = f.response.is_replay(),
+ resp_is_replay = f.response.is_replay,
resp_acked = f.response.reply.acked,
resp_clen = contentdesc,
resp_rate = "{0}/s".format(rate),
diff --git a/libmproxy/console/flowdetailview.py b/libmproxy/console/flowdetailview.py
index a26e5308..436d8f07 100644
--- a/libmproxy/console/flowdetailview.py
+++ b/libmproxy/console/flowdetailview.py
@@ -1,5 +1,6 @@
import urwid
import common
+from .. import utils
footer = [
('heading_key', "q"), ":back ",
@@ -33,8 +34,17 @@ class FlowDetailsView(urwid.ListBox):
title = urwid.AttrWrap(title, "heading")
text.append(title)
- if self.flow.response:
- c = self.flow.response.cert
+ if self.flow.server_conn:
+ text.append(urwid.Text([("head", "Server Connection:")]))
+ sc = self.flow.server_conn
+ parts = [
+ ["Address", "%s:%s" % sc.peername],
+ ["Start time", utils.format_timestamp(sc.timestamp_start)],
+ ["End time", utils.format_timestamp(sc.timestamp_end) if sc.timestamp_end else "active"],
+ ]
+ text.extend(common.format_keyvals(parts, key="key", val="text", indent=4))
+
+ c = self.flow.server_conn.cert
if c:
text.append(urwid.Text([("head", "Server Certificate:")]))
parts = [
@@ -43,19 +53,13 @@ class FlowDetailsView(urwid.ListBox):
["Valid to", str(c.notafter)],
["Valid from", str(c.notbefore)],
["Serial", str(c.serial)],
- ]
-
- parts.append(
[
"Subject",
urwid.BoxAdapter(
urwid.ListBox(common.format_keyvals(c.subject, key="highlight", val="text")),
len(c.subject)
)
- ]
- )
-
- parts.append(
+ ],
[
"Issuer",
urwid.BoxAdapter(
@@ -63,7 +67,7 @@ class FlowDetailsView(urwid.ListBox):
len(c.issuer)
)
]
- )
+ ]
if c.altnames:
parts.append(
@@ -74,13 +78,14 @@ class FlowDetailsView(urwid.ListBox):
)
text.extend(common.format_keyvals(parts, key="key", val="text", indent=4))
- if self.flow.request.client_conn:
+ if self.flow.client_conn:
text.append(urwid.Text([("head", "Client Connection:")]))
- cc = self.flow.request.client_conn
+ cc = self.flow.client_conn
parts = [
- ["Address", "%s:%s"%tuple(cc.address)],
- ["Requests", "%s"%cc.requestcount],
- ["Closed", "%s"%cc.close],
+ ["Address", "%s:%s" % cc.address()],
+ ["Start time", utils.format_timestamp(cc.timestamp_start)],
+ # ["Requests", "%s"%cc.requestcount],
+ ["End time", utils.format_timestamp(cc.timestamp_end) if cc.timestamp_end else "active"],
]
text.extend(common.format_keyvals(parts, key="key", val="text", indent=4))