Add bind address option to mitmdump.

This commit is contained in:
Aldo Cortesi 2011-03-06 17:52:06 +13:00
parent 7330f5fccf
commit 64cce94238
1 changed files with 72 additions and 40 deletions

112
mitmdump
View File

@ -28,50 +28,82 @@ if __name__ == '__main__':
usage = "%prog [options] [filter]", usage = "%prog [options] [filter]",
version="%%prog %s"%VERSION, version="%%prog %s"%VERSION,
) )
parser.add_option("-i", parser.add_option(
action="store_true", dest="stickycookie_all", default=None, "-a",
help="Set sticky cookie for all requests.") action="store", type = "str", dest="addr", default='',
parser.add_option("-I", help = "Address to bind proxy to (defaults to all interfaces)"
action="store", dest="stickycookie_filt", default=None, metavar="FILTER", )
help="Set sticky cookie filter. Matched against requests.") parser.add_option(
parser.add_option("--keepserving", "-i",
action="store_true", dest="keepserving", default=False, action="store_true", dest="stickycookie_all", default=None,
help="Continue serving after playback.") help="Set sticky cookie for all requests."
parser.add_option("-p", )
action="store", parser.add_option(
type = "int", dest="port", default=8080, "-I",
help = "Proxy service port.") action="store", dest="stickycookie_filt", default=None, metavar="FILTER",
parser.add_option("-q", help="Set sticky cookie filter. Matched against requests."
action="store_true", dest="quiet", )
help="Quiet.") parser.add_option(
parser.add_option("--reqscript", "--keepserving",
action="store", dest="request_script", default=None, action="store_true", dest="keepserving", default=False,
help="Script to run when a request is recieved.") help="Continue serving after playback."
parser.add_option("--respscript", )
action="store", dest="response_script", default=None, parser.add_option(
help="Script to run when a response is recieved.") "-p",
parser.add_option("-v", action="store", type = "int", dest="port", default=8080,
action="count", dest="verbose", default=1, help = "Proxy service port."
help="Increase verbosity. Can be passed multiple times.") )
parser.add_option("-w", parser.add_option(
action="store", dest="wfile", default=None, "-q",
help="Write flows to file.") 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 = OptionGroup(parser, "Client Replay")
group.add_option("-c", action="store", dest="client_replay", default=None, metavar="PATH", group.add_option(
help="Replay client requests from a saved file.") "-c",
action="store", dest="client_replay", default=None, metavar="PATH",
help="Replay client requests from a saved file."
)
parser.add_option_group(group) parser.add_option_group(group)
group = OptionGroup(parser, "Server Replay") group = OptionGroup(parser, "Server Replay")
group.add_option("-s", action="store", dest="server_replay", default=None, metavar="PATH", group.add_option(
help="Replay server responses from a saved file.") "-s",
group.add_option("-k", "--kill", action="store", dest="server_replay", default=None, metavar="PATH",
action="store_true", dest="kill", default=False, help="Replay server responses from a saved file."
help="Kill extra requests during replay.") )
group.add_option("--rheader", group.add_option(
action="append", dest="rheaders", type="str", "-k",
help="Request headers to be considered during replay. " action="store_true", dest="kill", default=False,
"Can be passed multiple times.") 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) parser.add_option_group(group)
proxy.certificate_option_group(parser) proxy.certificate_option_group(parser)
@ -89,7 +121,7 @@ if __name__ == '__main__':
stickycookie = stickycookie_filt stickycookie = stickycookie_filt
config = proxy.process_certificate_option_group(parser, options) 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( dumpopts = dump.Options(
verbosity = options.verbose, verbosity = options.verbose,
wfile = options.wfile, wfile = options.wfile,