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)