Beispiel #1
0
def run(ip, port, new_key, sleep_time):
    # 获取当前使用的rc4加密key
    rc4_key = get_rc4_key(new_key)
    Log.log_message(
        '[*]server cipher key: {}'.format(BOLD(rc4_key)), log_type=Log.SERVER)
    # 启动http监听服务
    session = Session()
    shell = Shell(session)
    httpd = Server(ip, port, JSCatServer, session, shell, rc4_key, sleep_time)
    httpd.start()
    Log.log_message(
        '[*]server running in  {}:{}...'.format(BOLD('0.0.0.0'), BOLD(port)), log_type=Log.SERVER)
    Log.log_message(
        '[*]host connect ip is {}:{}...'.format(BOLD(ip), BOLD(port)), log_type=Log.SERVER)

    print_online_cmd(ip, port)
    # 控制台命令输入
    try:
        while True:
            if not httpd.shell.get_command():
                httpd.shutdown()
                exit()
    except KeyboardInterrupt:
        httpd.shutdown()
        Log.log_message('server shutdown', log_type=Log.SERVER)
Beispiel #2
0
    def ansible(self, playbook, unattended, limit=None, argv=None, **kwargs):
        limit = limit if limit is not None else []
        argv = argv if argv is not None else []

        env = {
            'ANSIBLE_SSH_ARGS': '-o UserKnownHostsFile=/dev/null '
                                '-o IdentitiesOnly=yes '
                                '-o ControlMaster=auto '
                                '-o ControlPersist=60s '
                                '-o ServerAliveInterval=15',
            'ANSIBLE_HOST_KEY_CHECKING': 'false'
        }

        limit = ','.join(limit) if limit else 'all'

        if not unattended:
            argv.append('--ask-become-pass')

        args = [
            '--limit', limit,
            '--inventory-file', '{}/provision/inventory.yml'.format(self.root_dir),
            *argv,
            '{}/provision/{}'.format(self.root_dir, playbook)
        ]

        return Shell().run(['ansible-playbook'] + args, env=env, **kwargs)
Beispiel #3
0
    def __init__(self, cmdArguments):
        threading.Thread.__init__(self)
        self.daemon = True
        self.handler_class = JSCatServer

        self.host = cmdArguments['host']
        self.port = cmdArguments['port']
        self.shell = Shell()
        self.session = self.shell.session
        self.rc4_key = cmdArguments['new_key']
        self.sleep_time = cmdArguments['sleep_time']

        self._setup_server()
Beispiel #4
0
    def vagrant(self, config, command, args=None, argv=None, env=None, **kwargs):
        args = args if args is not None else []
        argv = argv if argv is not None else []
        env = env if env is not None else {}

        env = env.copy()
        env.update({
            'VAGRANT_CWD': self.root_dir,
            'SSSD_TEST_SUITE_CONFIG': config if config else self.default_config
        })

        if argv:
            args += ['--'] + argv

        return Shell().run(
            ['vagrant'] + command.split(' ') + args,
            env=env, **kwargs
        )
Beispiel #5
0
def run(ip, port, new_key, sleep_time):
    # 获取当前使用的rc4加密key
    rc4_key = get_rc4_key(new_key)
    print('[*]server encrypt key is {}'.format(BOLD(rc4_key)))
    # 启动http监听服务
    session = Session()
    shell = Shell(session)
    httpd = Server(ip, port, JSCatServer, session, shell, rc4_key, sleep_time)
    httpd.start()
    print('[*]server running in {}:{}...'.format(BOLD(ip), BOLD(port)))
    print_online_cmd(ip, port)
    # 控制台命令输入
    try:
        while True:
            if not httpd.shell.get_command():
                httpd.shutdown()
                exit()
    except KeyboardInterrupt:
        httpd.shutdown()
        print('server shutdown')
Beispiel #6
0
 def __init__(self):
     super().__init__()
     self.shell = Shell(env={'SSSD_TEST_SUITE_BOX': 'yes'})
Beispiel #7
0
def stop_shell(port):
    logger.info("Stopping shell at port: {}".format(port))
    shell = Shell("127.0.0.1", port)
    shell.exit()
Beispiel #8
0
# Create the network node, register appropriate handlers for
# the various network services. The node runs in its own thread.

logger.debug("Initializing Node")
node = Node(configuration)
node.add_service("overlay", OverlayService(configuration, encryption))
# node.register_handler(PresenceService())
# node.register_handler(MessagingService())
# etc.

logger.debug("Starting Node")
node.start()

# START SHELL (also in its own thread)
logger.debug("Starting Shell")
shell = Shell(configuration, node, args.auto_join)
shell.start()

shell.join()
logger.debug("Shell Stopped")

logger.debug("Shutting Down Node")
node.terminate()
node.join()

logger.debug("Terminated")

#import logging
#logging.basicConfig(level=logging.DEBUG)

# configuration = Configuration()