Example #1
0
    def test_feed_manager(self):
        """Test attack feed manager"""

        # Create a session manager and the feed manager attached to it
        config = Configuration()
        session_manager = SessionManager(config)
        feed_manager = FeedManager(config, session_manager)
        feed_manager.add_feed(DummyFeed(config))
        feed_manager.run()

        # Create an event
        event = Event("Test event")

        # Obtain a session and add the event
        session = session_manager.get_session("test", "127.0.0.1", 3200,
                                              "127.0.0.1", 3201)
        session.add_event(event)

        # Give the feed manager time for processing the event
        sleep(1)

        # Stop the feed manager and check if the event was processed
        feed_manager.stop()
        new_event = DummyFeed.events.get()
        self.assertIs(event, new_event)
Example #2
0
    def test_session_manager(self):
        """Test session manager"""

        # Obtain a session from the manager
        session_manager = SessionManager(Configuration())
        session = session_manager.get_session("test", "127.0.0.1", 3200,
                                              "127.0.0.1", 3201)
        # Check that the session obtained matches with the requested data
        self.assertIsInstance(session, Session)
        self.assertIs(session.event_queue, session_manager.event_queue)
        self.assertEqual(session.service, "test")
        self.assertEqual(session.source_ip, "127.0.0.1")
        self.assertEqual(session.source_port, 3200)
        self.assertEqual(session.target_ip, "127.0.0.1")
        self.assertEqual(session.target_port, 3201)
        # Check that different sessions are created for other service/ip/ports
        another_session = session_manager.get_session("test", "127.0.0.1",
                                                      3200, "127.0.0.1", 3202)
        self.assertIsNot(session, another_session)
        another_session = session_manager.get_session("test", "127.0.0.1",
                                                      3200, "127.0.0.2", 3201)
        self.assertIsNot(session, another_session)
        another_session = session_manager.get_session("test", "127.0.0.2",
                                                      3200, "127.0.0.1", 3201)
        self.assertIsNot(session, another_session)
        another_session = session_manager.get_session("test", "127.0.0.1",
                                                      3201, "127.0.0.1", 3201)
        self.assertIsNot(session, another_session)
        another_session = session_manager.get_session("service", "127.0.0.1",
                                                      3201, "127.0.0.1", 3201)
        self.assertIsNot(session, another_session)
Example #3
0
    def test_session_manager(self):
        """Test session manager"""

        # Obtain a session from the manager
        session_manager = SessionManager(Configuration())
        session = session_manager.get_session("test", "127.0.0.1", 3200, "127.0.0.1", 3201)
        # Check that the session obtained matches with the requested data
        self.assertIsInstance(session, Session)
        self.assertIs(session.event_queue, session_manager.event_queue)
        self.assertEqual(session.service, "test")
        self.assertEqual(session.source_ip, "127.0.0.1")
        self.assertEqual(session.source_port, 3200)
        self.assertEqual(session.target_ip, "127.0.0.1")
        self.assertEqual(session.target_port, 3201)
        # Check that different sessions are created for other service/ip/ports
        another_session = session_manager.get_session("test", "127.0.0.1", 3200, "127.0.0.1", 3202)
        self.assertIsNot(session, another_session)
        another_session = session_manager.get_session("test", "127.0.0.1", 3200, "127.0.0.2", 3201)
        self.assertIsNot(session, another_session)
        another_session = session_manager.get_session("test", "127.0.0.2", 3200, "127.0.0.1", 3201)
        self.assertIsNot(session, another_session)
        another_session = session_manager.get_session("test", "127.0.0.1", 3201, "127.0.0.1", 3201)
        self.assertIsNot(session, another_session)
        another_session = session_manager.get_session("service", "127.0.0.1", 3201, "127.0.0.1", 3201)
        self.assertIsNot(session, another_session)
Example #4
0
    def test_feed_manager(self):
        """Test attack feed manager"""

        # Create a session manager and the feed manager attached to it
        config = Configuration()
        session_manager = SessionManager(config)
        feed_manager = FeedManager(config, session_manager)
        feed_manager.add_feed(DummyFeed(config))
        feed_manager.run()

        # Create an event
        event = Event("Test event")

        # Obtain a session and add the event
        session = session_manager.get_session("test", "127.0.0.1", 3200, "127.0.0.1", 3201)
        session.add_event(event)

        # Give the feed manager time for processing the event
        sleep(1)

        # Stop the feed manager and check if the event was processed
        feed_manager.stop()
        new_event = DummyFeed.events.get()
        self.assertIs(event, new_event)