From 64cce94238efd4cc869f19b198c72361c9c8c6c9 Mon Sep 17 00:00:00 2001 From: Aldo Cortesi Date: Sun, 6 Mar 2011 17:52:06 +1300 Subject: Add bind address option to mitmdump. --- mitmdump | 112 ++++++++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 72 insertions(+), 40 deletions(-) diff --git a/mitmdump b/mitmdump index a8641d52..93f77060 100755 --- a/mitmdump +++ b/mitmdump @@ -28,50 +28,82 @@ if __name__ == '__main__': usage = "%prog [options] [filter]", version="%%prog %s"%VERSION, ) - parser.add_option("-i", - action="store_true", dest="stickycookie_all", default=None, - help="Set sticky cookie for all requests.") - parser.add_option("-I", - action="store", dest="stickycookie_filt", default=None, metavar="FILTER", - help="Set sticky cookie filter. Matched against requests.") - parser.add_option("--keepserving", - action="store_true", dest="keepserving", default=False, - help="Continue serving after playback.") - parser.add_option("-p", - action="store", - type = "int", dest="port", default=8080, - help = "Proxy service port.") - parser.add_option("-q", - action="store_true", dest="quiet", - help="Quiet.") - parser.add_option("--reqscript", - action="store", dest="request_script", default=None, - help="Script to run when a request is recieved.") - parser.add_option("--respscript", - action="store", dest="response_script", default=None, - help="Script to run when a response is recieved.") - parser.add_option("-v", - action="count", dest="verbose", default=1, - help="Increase verbosity. Can be passed multiple times.") - parser.add_option("-w", - action="store", dest="wfile", default=None, - help="Write flows to file.") + parser.add_option( + "-a", + action="store", type = "str", dest="addr", default='', + help = "Address to bind proxy to (defaults to all interfaces)" + ) + parser.add_option( + "-i", + action="store_true", dest="stickycookie_all", default=None, + help="Set sticky cookie for all requests." + ) + parser.add_option( + "-I", + action="store", dest="stickycookie_filt", default=None, metavar="FILTER", + help="Set sticky cookie filter. Matched against requests." + ) + parser.add_option( + "--keepserving", + action="store_true", dest="keepserving", default=False, + help="Continue serving after playback." + ) + parser.add_option( + "-p", + action="store", type = "int", dest="port", default=8080, + help = "Proxy service port." + ) + parser.add_option( + "-q", + action="store_true", dest="quiet", + help="Quiet." + ) + parser.add_option( + "--reqscript", + action="store", dest="request_script", default=None, + help="Script to run when a request is recieved." + ) + parser.add_option( + "--respscript", + action="store", dest="response_script", default=None, + help="Script to run when a response is recieved." + ) + parser.add_option( + "-v", + action="count", dest="verbose", default=1, + help="Increase verbosity. Can be passed multiple times." + ) + parser.add_option( + "-w", + action="store", dest="wfile", default=None, + help="Write flows to file." + ) group = OptionGroup(parser, "Client Replay") - group.add_option("-c", action="store", dest="client_replay", default=None, metavar="PATH", - help="Replay client requests from a saved file.") + group.add_option( + "-c", + action="store", dest="client_replay", default=None, metavar="PATH", + help="Replay client requests from a saved file." + ) parser.add_option_group(group) group = OptionGroup(parser, "Server Replay") - group.add_option("-s", action="store", dest="server_replay", default=None, metavar="PATH", - help="Replay server responses from a saved file.") - group.add_option("-k", "--kill", - action="store_true", dest="kill", default=False, - help="Kill extra requests during replay.") - group.add_option("--rheader", - action="append", dest="rheaders", type="str", - help="Request headers to be considered during replay. " - "Can be passed multiple times.") + group.add_option( + "-s", + action="store", dest="server_replay", default=None, metavar="PATH", + help="Replay server responses from a saved file." + ) + group.add_option( + "-k", + action="store_true", dest="kill", default=False, + help="Kill extra requests during replay." + ) + group.add_option( + "--rheader", + action="append", dest="rheaders", type="str", + help="Request headers to be considered during replay. " + "Can be passed multiple times." + ) parser.add_option_group(group) proxy.certificate_option_group(parser) @@ -89,7 +121,7 @@ if __name__ == '__main__': stickycookie = stickycookie_filt config = proxy.process_certificate_option_group(parser, options) - server = proxy.ProxyServer(config, options.port) + server = proxy.ProxyServer(config, options.port, options.addr) dumpopts = dump.Options( verbosity = options.verbose, wfile = options.wfile, -- cgit v1.2.3