Ejemplo n.º 1
0
def mitmdump(args=None):  # pragma: no cover
    from . import dump

    version_check.check_pyopenssl_version()

    parser = cmdline.mitmdump()
    args = parser.parse_args(args)
    if args.quiet:
        args.flow_detail = 0

    master = None
    try:
        dump_options = dump.Options(**cmdline.get_common_options(args))
        dump_options.flow_detail = args.flow_detail
        dump_options.keepserving = args.keepserving
        dump_options.filtstr = " ".join(args.args) if args.args else None
        server = process_options(parser, dump_options, args)
        master = dump.DumpMaster(server, dump_options)

        def cleankill(*args, **kwargs):
            master.shutdown()

        signal.signal(signal.SIGTERM, cleankill)
        master.run()
    except (dump.DumpError, exceptions.OptionsError) as e:
        print("mitmdump: %s" % e, file=sys.stderr)
        sys.exit(1)
    except (KeyboardInterrupt, RuntimeError):
        pass
    if master is None or master.has_errored:
        print("mitmdump: errors occurred during run", file=sys.stderr)
        sys.exit(1)
Ejemplo n.º 2
0
def mitmdump(args=None):  # pragma: no cover
    from . import dump

    version_check.check_pyopenssl_version()

    parser = cmdline.mitmdump()
    args = parser.parse_args(args)
    if args.quiet:
        args.flow_detail = 0

    try:
        dump_options = dump.Options(**cmdline.get_common_options(args))
        dump_options.flow_detail = args.flow_detail
        dump_options.keepserving = args.keepserving
        dump_options.filtstr = " ".join(args.args) if args.args else None
        proxy_config = process_options(parser, dump_options, args)
        server = get_server(dump_options.no_server, proxy_config)
        master = dump.DumpMaster(server, dump_options)

        def cleankill(*args, **kwargs):
            master.shutdown()

        signal.signal(signal.SIGTERM, cleankill)
        master.run()
    except (dump.DumpError, exceptions.OptionsError) as e:
        print("mitmdump: %s" % e, file=sys.stderr)
        sys.exit(1)
    except (KeyboardInterrupt, _thread.error):
        pass
    if master.has_errored:
        print("mitmdump: errors occurred during run", file=sys.stderr)
        sys.exit(1)
Ejemplo n.º 3
0
def mitmdump(args=None):  # pragma: no cover
    from . import dump

    version_check.check_pyopenssl_version()

    parser = cmdline.mitmdump()
    options = parser.parse_args(args)
    if options.quiet:
        options.verbose = 0
        options.flow_detail = 0

    proxy_config = config.process_proxy_options(parser, options)
    dump_options = dump.Options(**cmdline.get_common_options(options))
    dump_options.flow_detail = options.flow_detail
    dump_options.keepserving = options.keepserving
    dump_options.filtstr = " ".join(options.args) if options.args else None

    server = get_server(dump_options.no_server, proxy_config)

    try:
        master = dump.DumpMaster(server, dump_options)

        def cleankill(*args, **kwargs):
            master.shutdown()

        signal.signal(signal.SIGTERM, cleankill)
        master.run()
    except dump.DumpError as e:
        print("mitmdump: %s" % e, file=sys.stderr)
        sys.exit(1)
    except (KeyboardInterrupt, _thread.error):
        pass
Ejemplo n.º 4
0
def mitmdump(args=None):  # pragma: no cover
    from . import dump

    version_check.check_pyopenssl_version()

    parser = cmdline.mitmdump()
    options = parser.parse_args(args)
    if options.quiet:
        options.verbose = 0
        options.flow_detail = 0

    proxy_config = config.process_proxy_options(parser, options)
    dump_options = dump.Options(**cmdline.get_common_options(options))
    dump_options.flow_detail = options.flow_detail
    dump_options.keepserving = options.keepserving
    dump_options.filtstr = " ".join(options.args) if options.args else None

    server = get_server(dump_options.no_server, proxy_config)

    try:
        master = dump.DumpMaster(server, dump_options)

        def cleankill(*args, **kwargs):
            master.shutdown()

        signal.signal(signal.SIGTERM, cleankill)
        master.run()
    except dump.DumpError as e:
        print("mitmdump: %s" % e, file=sys.stderr)
        sys.exit(1)
    except (KeyboardInterrupt, _thread.error):
        pass
Ejemplo n.º 5
0
def test_mitmdump():
    ap = cmdline.mitmdump()
    assert ap
Ejemplo n.º 6
0
def test_mitmdump():
    ap = cmdline.mitmdump()
    assert ap
Ejemplo n.º 7
0
    def run(self):
        """
        start one proxy in background with specific port
        :param port:
        :param addon:
        :return:
        """
        args = ['-p', '%s' % self.port, '--stream', '100k']

        print('proxy arguments: %s' % ' '.join(args))

        def process_options(parser, options, args):
            from mitmproxy.proxy import server
            if args.sysinfo:
                print(debug.sysinfo())
            try:
                debug.register_info_dumpers()
            except Exception as e:
                print(str(e))
            pconf = config.ProxyConfig(options)
            if options.no_server:
                return server.DummyServer(pconf)
            else:
                try:
                    return server.ProxyServer(pconf)
                except exceptions.ServerException as v:
                    print(str(v))
                    return

        version_check.check_pyopenssl_version()

        parser = cmdline.mitmdump()
        args = parser.parse_args(args)
        # if args.quiet:
        args.flow_detail = 0

        self.master = None
        try:
            dump_options = dump.Options(**cmdline.get_common_options(args))
            dump_options.flow_detail = args.flow_detail
            dump_options.keepserving = args.keepserving
            dump_options.filtstr = " ".join(args.args) if args.args else None
            server = process_options(parser, dump_options, args)
            self.master = FileDumpMaster(server, dump_options)

            for add_on in self.addon:
                self.master.addons.add(add_on)

            def cleankill(*args, **kwargs):
                self.master.shutdown()

            # signal.signal(signal.SIGTERM, cleankill)
            global_config.PROXY = self.master
            self.master.run()
        except (dump.DumpError, exceptions.OptionsError) as e:
            print("mitmdump: %s" % e)
            return
        # except (KeyboardInterrupt, _thread.error):
        #     pass
        if self.master is None or self.master.has_errored:
            print("mitmdump: errors occurred during run")
            return