Beispiel #1
0
 def _get_router_sockets(self) -> List:
     """
     :return: The Sockets of the Router.
     """
     socket_lst = list()
     raw_socket_lst = self.network_ctrl.send_command("netstat -taupn")[2:]
     for raw_socket in raw_socket_lst:
         # raw_socket looks like:
         # tcp        0     32 192.168.1.1:22          192.168.1.239:51891     ESTABLISHED 1067/dropbear
         raw_socket = raw_socket.split()
         socket = InternetSocket()
         socket.protocol = raw_socket[0]
         raw_local_address = raw_socket[3].split(":")
         socket.local_address = raw_local_address[0] if len(
             raw_local_address) == 2 else "::"
         socket.local_port = raw_local_address[-1]
         raw_foreign_address = raw_socket[4].split(":")
         socket.foreign_address = raw_foreign_address[0] if len(
             raw_foreign_address) == 2 else "::"
         socket.foreign_port = raw_foreign_address[-1]
         raw_process = "-1/error"
         if raw_socket[0] == "tcp":
             socket.state = raw_socket[5]
             raw_process = raw_socket[6].split("/")
         elif raw_socket[0] == "udp":
             raw_process = raw_socket[5].split("/")
         socket.pid = int(raw_process[0])
         socket.program_name = raw_process[1]
         socket_lst.append(socket)
     return socket_lst
 def _get_router_sockets(self) -> List:
     """
     :return: The Sockets of the Router.
     """
     socket_lst = list()
     raw_socket_lst = self.network_ctrl.send_command("netstat -taupn")[2:]
     for raw_socket in raw_socket_lst:
         # raw_socket looks like:
         # tcp        0     32 192.168.1.1:22          192.168.1.239:51891     ESTABLISHED 1067/dropbear
         raw_socket = raw_socket.split()
         socket = InternetSocket()
         socket.protocol = raw_socket[0]
         raw_local_address = raw_socket[3].split(":")
         socket.local_address = raw_local_address[0] if len(raw_local_address) == 2 else "::"
         socket.local_port = raw_local_address[-1]
         raw_foreign_address = raw_socket[4].split(":")
         socket.foreign_address = raw_foreign_address[0] if len(raw_foreign_address) == 2 else "::"
         socket.foreign_port = raw_foreign_address[-1]
         raw_process = "-1/error"
         if raw_socket[0] == "tcp":
             socket.state = raw_socket[5]
             raw_process = raw_socket[6].split("/")
         elif raw_socket[0] == "udp":
             raw_process = raw_socket[5].split("/")
         socket.pid = int(raw_process[0])
         socket.program_name = raw_process[1]
         socket_lst.append(socket)
     return socket_lst
    def test_optional_getter_setter(self):
        router = Router(0, "vlan21", 21, "10.223.254.254", 16, "192.168.1.1",
                        24, "root", "root", 1)

        assert isinstance(router, Router)

        router.mode = Mode.configuration
        router.model = "TP-LINK TL-WR841N/ND v9"
        router.mac = "e8:de:27:b7:7c:e2"
        router.node_name = "64293-testframework1"
        router.public_key = "1234567890abcdef16171819"

        network_interface = NetworkInterface(0, "eth0")
        assert isinstance(network_interface, NetworkInterface)
        router.network_interfaces[network_interface.name] = network_interface

        cpu_process = CPUProcess(11, "root", 1.1, 11.2, "echo")
        assert isinstance(cpu_process, CPUProcess)
        router.cpu_processes.append(cpu_process)

        socket = InternetSocket()
        assert isinstance(socket, InternetSocket)
        router.sockets.append(socket)

        ram = RAM(8000, 4000, 4000, 0, 0)
        assert isinstance(ram, RAM)
        router.ram = ram

        flash_driver = Flashdriver(8000, 2000, 6000)
        assert isinstance(flash_driver, Flashdriver)
        router.flashdriver = flash_driver

        router.uci["autoupdater.settings.enabled"] = "1"

        bat_originator = BatOriginator(
            "00:00:00:00:00:00", 12.2, "01:00:01:00:01:00", "mesh0",
            ["01:00:01:00:01:00", "21:00:21:00:21:00", "03:00:03:00:03:00"])
        assert isinstance(bat_originator, BatOriginator)
        router.bat_originators.append(bat_originator)

        self.assertEqual(Mode.configuration, router.mode)
        self.assertEqual("TP-LINK TL-WR841N/ND v9", router.model)
        self.assertEqual("e8:de:27:b7:7c:e2", router.mac)
        self.assertEqual("64293-testframework1", router.node_name)
        self.assertEqual("1234567890abcdef16171819", router.public_key)
        self.assertEqual(network_interface,
                         router.network_interfaces[network_interface.name])
        self.assertEqual(cpu_process, router.cpu_processes.pop())
        self.assertEqual(socket, router.sockets.pop())
        self.assertEqual(ram, router.ram)
        self.assertEqual(flash_driver, router.flashdriver)
        self.assertEqual('Firmware not known', router.firmware.name)
        self.assertEqual("1", router.uci["autoupdater.settings.enabled"])
        self.assertEqual(bat_originator, router.bat_originators.pop())
    def test_create_InternetSocket(self):
        socket = InternetSocket()
        socket.protocol = Protocol.tcp
        socket.local_address = "192.168.2.11"
        socket.local_port = "22"
        socket.foreign_address = "0.0.0.0"
        socket.foreign_port = "*"
        socket.state = State.listen
        socket.pid = 11
        socket.program_name = "/path/programm"

        assert isinstance(socket, InternetSocket)

        self.assertEqual(Protocol.tcp, socket.protocol)
        self.assertEqual(ipaddress.ip_address("192.168.2.11"), socket.local_address)
        self.assertEqual("22", socket.local_port)
        self.assertEqual(ipaddress.ip_address("0.0.0.0"), socket.foreign_address)
        self.assertEqual("*", socket.foreign_port)
        self.assertEqual(State.listen, socket.state)
        self.assertEqual(11, socket.pid)
        self.assertEqual("/path/programm", socket.program_name)