Esempio n. 1
0
class Consumer:
    def __init__(self, sessions, honeypot_ip, config):
        """
            Processes completed/disconnected sessions from the sessions dict.

        :param sessions: The sessions dict, which holds the currently active sessions.
        :param honeypot_ip: IP Address of the Honeypot
        :param config: Honeypot configuration
        :param status: The Honeypot status dict. This is updated by the consumer.
        """
        logger.debug('Consumer created.')
        self.config = config
        self.enabled = True
        self.honeypot_ip = honeypot_ip
        self.sessions = sessions
        self.logger = ServerLogger(Messages.SESSION_HONEYPOT)

    def start(self):
        self.enabled = True
        while self.enabled:
            for session_id in self.sessions.keys():
                session = self.sessions[session_id]
                if not session.is_connected():
                    self.logger.log(session)
                    del self.sessions[session_id]
                    logger.debug('Removed {0} connection from {1}. ({2})'.format(session.protocol,
                                                                                 session.source_ip,
                                                                                 session.id))
            gevent.sleep(1)

    def stop(self):
        self.enabled = False
Esempio n. 2
0
class Consumer(object):
    def __init__(self, sessions, config, own_ip):
        """
            Processes completed sessions from the sessions dict.

        :param sessions: The sessions dict, which holds the currently active sessions.
        :param config: The Client configuration.
        :param status: The Client status dict. This is updated by the consumer.
        """
        logger.debug('Consumer created.')
        self.sessions = sessions
        self.config = config
        self.enabled = True
        self.logger = ServerLogger(Messages.SESSION_CLIENT)
        self.own_ip = own_ip

    def start_handling(self, sleep_time=1):
        while self.enabled:
            for session_id in self.sessions.keys():
                session = self.sessions[session_id]
                if session.alldone:
                    logger.debug('Found finished {0} bait session. (bait id: {1})'.format(session.protocol, session.id))
                    session.source_ip = self.own_ip
                    self.logger.log(session)
                    del self.sessions[session_id]
            gevent.sleep(sleep_time)

    def stop_handling(self):
        self.enabled = False
Esempio n. 3
0
class Consumer(object):
    def __init__(self, sessions, config, own_ip):
        """
            Processes completed sessions from the sessions dict.

        :param sessions: The sessions dict, which holds the currently active sessions.
        :param config: The Client configuration.
        :param status: The Client status dict. This is updated by the consumer.
        """
        logger.debug('Consumer created.')
        self.sessions = sessions
        self.config = config
        self.enabled = True
        self.logger = ServerLogger(Messages.SESSION_CLIENT)
        self.own_ip = own_ip

    def start_handling(self, sleep_time=1):
        while self.enabled:
            for session_id in self.sessions.keys():
                session = self.sessions[session_id]
                if session.alldone:
                    logger.debug(
                        'Found finished {0} bait session. (bait id: {1})'.
                        format(session.protocol, session.id))
                    session.source_ip = self.own_ip
                    self.logger.log(session)
                    del self.sessions[session_id]
            gevent.sleep(sleep_time)

    def stop_handling(self):
        self.enabled = False
Esempio n. 4
0
    def __init__(self, sessions, config, own_ip):
        """
            Processes completed sessions from the sessions dict.

        :param sessions: The sessions dict, which holds the currently active sessions.
        :param config: The Client configuration.
        :param status: The Client status dict. This is updated by the consumer.
        """
        logger.debug('Consumer created.')
        self.sessions = sessions
        self.config = config
        self.enabled = True
        self.logger = ServerLogger(Messages.SESSION_CLIENT)
        self.own_ip = own_ip
Esempio n. 5
0
    def __init__(self, sessions, config, own_ip):
        """
            Processes completed sessions from the sessions dict.

        :param sessions: The sessions dict, which holds the currently active sessions.
        :param config: The Client configuration.
        :param status: The Client status dict. This is updated by the consumer.
        """
        logger.debug('Consumer created.')
        self.sessions = sessions
        self.config = config
        self.enabled = True
        self.logger = ServerLogger(Messages.SESSION_CLIENT)
        self.own_ip = own_ip
Esempio n. 6
0
    def __init__(self, sessions, honeypot_ip, config):
        """
            Processes completed/disconnected sessions from the sessions dict.

        :param sessions: The sessions dict, which holds the currently active sessions.
        :param honeypot_ip: IP Address of the Honeypot
        :param config: Honeypot configuration
        :param status: The Honeypot status dict. This is updated by the consumer.
        """
        logger.debug('Consumer created.')
        self.config = config
        self.enabled = True
        self.honeypot_ip = honeypot_ip
        self.sessions = sessions
        self.logger = ServerLogger(Messages.SESSION_HONEYPOT)