diff options
Diffstat (limited to 'libmproxy/console')
-rw-r--r-- | libmproxy/console/__init__.py | 4 | ||||
-rw-r--r-- | libmproxy/console/common.py | 6 | ||||
-rw-r--r-- | libmproxy/console/flowdetailview.py | 35 |
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)) |