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]",
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,