aboutsummaryrefslogtreecommitdiffstats
path: root/mitmdump
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2011-03-12 14:30:12 +1300
committerAldo Cortesi <aldo@nullcube.com>2011-03-12 14:30:12 +1300
commit2f457e041e61328aad6a129ae1494ad7feb432c6 (patch)
tree08402d12f668830f5b87033d170e1c89e77ce6bd /mitmdump
parent9927ebad3e026b8c080a50759234c88489fe84c7 (diff)
downloadmitmproxy-2f457e041e61328aad6a129ae1494ad7feb432c6.tar.gz
mitmproxy-2f457e041e61328aad6a129ae1494ad7feb432c6.tar.bz2
mitmproxy-2f457e041e61328aad6a129ae1494ad7feb432c6.zip
Unify mitmproxy and mitmdump commandline
- Extract common options into cmdline.py - Change mitmproxy keybindings to fit command line Some cmdline options and keybindings aren't in operation yet - just stubs where functionality will be added in the next few commits.
Diffstat (limited to 'mitmdump')
-rwxr-xr-xmitmdump114
1 files changed, 6 insertions, 108 deletions
diff --git a/mitmdump b/mitmdump
index 598faac0..461abf4b 100755
--- a/mitmdump
+++ b/mitmdump
@@ -16,7 +16,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import sys, os.path
-from libmproxy import proxy, dump, utils
+from libmproxy import proxy, dump, utils, cmdline
from libmproxy.version import VERSION
from optparse import OptionParser, OptionGroup
@@ -26,109 +26,18 @@ if __name__ == '__main__':
usage = "%prog [options] [filter]",
version="%%prog %s"%VERSION,
)
- 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."
- )
+ cmdline.common_options(parser)
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(
- "--anticache",
- action="store_true", dest="anticache", default=False,
- help="Strip out request headers that might cause the server to return 304-not-modified."
- )
- 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."
+ help="Continue serving after playback. We exit by default."
)
- 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."
- )
- 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",
- 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(
- "--norefresh",
- action="store_true", dest="norefresh", default=False,
- help= "Disable response refresh, "
- "which updates times in cookies and headers for replayed responses."
- )
- parser.add_option_group(group)
-
- proxy.certificate_option_group(parser)
-
options, args = parser.parse_args()
if options.quiet:
options.verbose = 0
- stickycookie = None
- if options.stickycookie_all:
- stickycookie = ".*"
- elif options.stickycookie_filt:
- stickycookie = stickycookie_filt
-
config = proxy.process_certificate_option_group(parser, options)
try:
server = proxy.ProxyServer(config, options.port, options.addr)
@@ -136,20 +45,9 @@ if __name__ == '__main__':
print >> sys.stderr, "mitmdump:", v.args[0]
sys.exit(1)
- dumpopts = dump.Options(
- verbosity = options.verbose,
- wfile = options.wfile,
- request_script = options.request_script,
- response_script = options.response_script,
- server_replay = options.server_replay,
- kill = options.kill,
- rheaders = options.rheaders,
- client_replay = options.client_replay,
- keepserving = options.keepserving,
- stickycookie = stickycookie,
- anticache = options.anticache,
- refresh_server_playback = not options.norefresh,
- )
+ dumpopts = dump.Options(**cmdline.get_common_options(options))
+ dumpopts.keepserving = options.keepserving
+
if args:
filt = " ".join(args)
else: