From c13d3f191faf9a414f64728fd73fe2bb4d1cb187 Mon Sep 17 00:00:00 2001 From: Charlie Crane Date: Tue, 9 Apr 2024 13:34:57 +0100 Subject: [PATCH] #2453 - Correcting errors found from pipeline pre-commit checks --- .../create-simulation_demo.ipynb | 240 +++++++++--------- .../network_simulator_demo.ipynb | 170 +++++-------- .../network/hardware/nodes/host/host_node.py | 6 + .../hardware/nodes/network/network_node.py | 6 + 4 files changed, 192 insertions(+), 230 deletions(-) diff --git a/src/primaite/simulator/_package_data/create-simulation_demo.ipynb b/src/primaite/simulator/_package_data/create-simulation_demo.ipynb index 57003e55..5ef31243 100644 --- a/src/primaite/simulator/_package_data/create-simulation_demo.ipynb +++ b/src/primaite/simulator/_package_data/create-simulation_demo.ipynb @@ -18,7 +18,7 @@ }, { "cell_type": "code", - "execution_count": 119, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -36,20 +36,20 @@ }, { "cell_type": "code", - "execution_count": 120, + "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "{'uuid': '42d005b2-4dc8-4aec-be54-3493242eee32',\n", - " 'network': {'uuid': '069f61a4-ac40-431f-ad13-2fc9b26dc091',\n", + "{'uuid': '91c88b2a-caf1-47be-a394-d0c22e5110be',\n", + " 'network': {'uuid': 'a9121808-0401-460c-9833-23d4ba91e9bc',\n", " 'nodes': {},\n", " 'links': {}},\n", - " 'domain': {'uuid': 'f0629156-e9af-493d-b098-f47d73126122', 'accounts': {}}}" + " 'domain': {'uuid': '25fbe0e9-76e8-4fd7-ad22-da2d2b5a509d', 'accounts': {}}}" ] }, - "execution_count": 120, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } @@ -69,7 +69,7 @@ }, { "cell_type": "code", - "execution_count": 121, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -79,7 +79,7 @@ }, { "cell_type": "code", - "execution_count": 122, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -98,7 +98,7 @@ }, { "cell_type": "code", - "execution_count": 123, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -108,16 +108,16 @@ }, { "cell_type": "code", - "execution_count": 124, + "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "Link(uuid='42b8f911-3640-4ccb-b277-b48b294a1fc8', endpoint_a=NIC(ip_address=IPv4Address('130.1.1.2'), subnet_mask=IPv4Address('255.255.255.0'), uuid='53993d8f-216e-4c00-9b03-c6bb9e2437b5', mac_address='17:9d:82:db:ca:c8', speed=100, mtu=1500, enabled=False, port_num=2, port_name=None, pcap=None, nmne={}, wake_on_lan=False, gateway='130.1.1.255'), endpoint_b=SwitchPort(uuid='c03d4d22-f309-49b6-a1ad-45a04c40d25e', mac_address='84:01:f3:bb:47:1c', speed=100, mtu=1500, enabled=False, port_num=2, port_name=None, pcap=None, nmne={}), bandwidth=100.0, current_load=0.0)" + "Link(uuid='2bd19485-0a6b-4878-978b-b082a672d9b9', endpoint_a=NIC(ip_address=IPv4Address('130.1.1.2'), subnet_mask=IPv4Address('255.255.255.0'), uuid='8a628493-83fb-44bf-a1b0-ef19e362ae5f', mac_address='44:89:a5:ce:7f:6f', speed=100, mtu=1500, enabled=False, port_num=2, port_name=None, pcap=None, nmne={}, wake_on_lan=False, gateway='130.1.1.255'), endpoint_b=SwitchPort(uuid='a049bb8f-53d3-4575-b325-dfb55516edcd', mac_address='aa:45:88:e1:13:e5', speed=100, mtu=1500, enabled=False, port_num=2, port_name=None, pcap=None, nmne={}), bandwidth=100.0, current_load=0.0)" ] }, - "execution_count": 124, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -145,7 +145,7 @@ }, { "cell_type": "code", - "execution_count": 125, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -156,7 +156,7 @@ }, { "cell_type": "code", - "execution_count": 126, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -166,16 +166,16 @@ }, { "cell_type": "code", - "execution_count": 127, + "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "File(uuid='24789051-6762-48f4-8a56-c28882374273', name='favicon.ico', health_status=, visible_health_status=, previous_hash=None, revealed_to_red=False, sys_log=, deleted=False, folder_id='7a86576b-607f-468b-826f-4834cf2b3511', folder_name='root', file_type=, sim_size=0, real=False, sim_path=None, sim_root=WindowsPath('C:/Projects/PrimAITE/simulation_output/2024-04-08_12-19-36/google_server/fs'), num_access=0, folder=Folder(uuid='7a86576b-607f-468b-826f-4834cf2b3511', name='root', health_status=, visible_health_status=, previous_hash=None, revealed_to_red=False, sys_log=, deleted=False, files={'24789051-6762-48f4-8a56-c28882374273': File(uuid='24789051-6762-48f4-8a56-c28882374273', name='favicon.ico', health_status=, visible_health_status=, previous_hash=None, revealed_to_red=False, sys_log=, deleted=False, folder_id='7a86576b-607f-468b-826f-4834cf2b3511', folder_name='root', file_type=, sim_size=0, real=False, sim_path=None, sim_root=WindowsPath('C:/Projects/PrimAITE/simulation_output/2024-04-08_12-19-36/google_server/fs'), num_access=0, folder=Folder(uuid='7a86576b-607f-468b-826f-4834cf2b3511', name='root', health_status=, visible_health_status=, previous_hash=None, revealed_to_red=False, sys_log=, deleted=False, files={...}, deleted_files={}, scan_duration=3, scan_countdown=0, red_scan_duration=3, red_scan_countdown=0, restore_duration=3, restore_countdown=0))}, deleted_files={}, scan_duration=3, scan_countdown=0, red_scan_duration=3, red_scan_countdown=0, restore_duration=3, restore_countdown=0))" + "File(uuid='3ceeded4-77b9-4a86-949c-73188d5f4c34', name='favicon.ico', health_status=, visible_health_status=, previous_hash=None, revealed_to_red=False, sys_log=, deleted=False, folder_id='cbbd3631-a915-400d-bc02-f31f72447ce5', folder_name='root', file_type=, sim_size=0, real=False, sim_path=None, sim_root=WindowsPath('C:/Projects/PrimAITE/simulation_output/2024-04-09_13-24-30/google_server/fs'), num_access=0, folder=Folder(uuid='cbbd3631-a915-400d-bc02-f31f72447ce5', name='root', health_status=, visible_health_status=, previous_hash=None, revealed_to_red=False, sys_log=, deleted=False, files={'3ceeded4-77b9-4a86-949c-73188d5f4c34': File(uuid='3ceeded4-77b9-4a86-949c-73188d5f4c34', name='favicon.ico', health_status=, visible_health_status=, previous_hash=None, revealed_to_red=False, sys_log=, deleted=False, folder_id='cbbd3631-a915-400d-bc02-f31f72447ce5', folder_name='root', file_type=, sim_size=0, real=False, sim_path=None, sim_root=WindowsPath('C:/Projects/PrimAITE/simulation_output/2024-04-09_13-24-30/google_server/fs'), num_access=0, folder=Folder(uuid='cbbd3631-a915-400d-bc02-f31f72447ce5', name='root', health_status=, visible_health_status=, previous_hash=None, revealed_to_red=False, sys_log=, deleted=False, files={...}, deleted_files={}, scan_duration=3, scan_countdown=0, red_scan_duration=3, red_scan_countdown=0, restore_duration=3, restore_countdown=0))}, deleted_files={}, scan_duration=3, scan_countdown=0, red_scan_duration=3, red_scan_countdown=0, restore_duration=3, restore_countdown=0))" ] }, - "execution_count": 127, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -194,16 +194,16 @@ }, { "cell_type": "code", - "execution_count": 128, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ + "from pathlib import Path\n", "from primaite.simulator.system.applications.application import Application, ApplicationOperatingState\n", "from primaite.simulator.system.software import SoftwareHealthState, SoftwareCriticality\n", "from primaite.simulator.network.transmission.transport_layer import Port\n", "from primaite.simulator.network.transmission.network_layer import IPProtocol\n", "from primaite.simulator.file_system.file_system import FileSystem\n", - "from pathlib import Path\n", "\n", "# no applications exist yet so we will create our own.\n", "class MSPaint(Application):\n", @@ -213,7 +213,7 @@ }, { "cell_type": "code", - "execution_count": 129, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -222,7 +222,7 @@ }, { "cell_type": "code", - "execution_count": 130, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -238,7 +238,7 @@ }, { "cell_type": "code", - "execution_count": 131, + "execution_count": 13, "metadata": {}, "outputs": [], "source": [ @@ -247,7 +247,7 @@ }, { "cell_type": "code", - "execution_count": 132, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -264,19 +264,19 @@ }, { "cell_type": "code", - "execution_count": 133, + "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "{'uuid': '42d005b2-4dc8-4aec-be54-3493242eee32',\n", - " 'network': {'uuid': '069f61a4-ac40-431f-ad13-2fc9b26dc091',\n", - " 'nodes': {'primaite_pc': {'uuid': '52246eed-9a3f-4b19-ad0c-48fc3bbb998d',\n", + "{'uuid': '91c88b2a-caf1-47be-a394-d0c22e5110be',\n", + " 'network': {'uuid': 'a9121808-0401-460c-9833-23d4ba91e9bc',\n", + " 'nodes': {'primaite_pc': {'uuid': 'dd0e95be-2491-4d5b-8388-df3975a19e8a',\n", " 'hostname': 'primaite_pc',\n", " 'operating_state': 2,\n", - " 'NICs': {1: {'uuid': '73dcb42e-7db4-45cf-b439-9b8066c8e32e',\n", - " 'mac_address': 'c9:84:ec:48:87:77',\n", + " 'NICs': {1: {'uuid': '279e2645-b680-4d2e-b13c-66d5cfacbd38',\n", + " 'mac_address': 'bd:76:20:24:cf:04',\n", " 'speed': 100,\n", " 'mtu': 1500,\n", " 'enabled': False,\n", @@ -284,8 +284,8 @@ " 'ip_address': '192.168.1.10',\n", " 'subnet_mask': '255.255.255.0',\n", " 'wake_on_lan': False},\n", - " 2: {'uuid': 'e0fbda66-afcb-4a79-b696-aad0778279a2',\n", - " 'mac_address': 'cb:66:8b:b2:dc:51',\n", + " 2: {'uuid': '40c0db02-4d14-4826-b49b-e6a521941cec',\n", + " 'mac_address': 'd8:b2:0c:af:3f:83',\n", " 'speed': 100,\n", " 'mtu': 1500,\n", " 'enabled': False,\n", @@ -293,8 +293,8 @@ " 'ip_address': '130.1.1.1',\n", " 'subnet_mask': '255.255.255.0',\n", " 'wake_on_lan': False}},\n", - " 'file_system': {'uuid': '8a857927-dd5e-40e9-86fd-1df8b3a2b463',\n", - " 'folders': {'root': {'uuid': 'acb725c9-461e-40c5-b2c0-ed198865e1f2',\n", + " 'file_system': {'uuid': '91d3aed7-53c6-471f-b903-9889396be280',\n", + " 'folders': {'root': {'uuid': '81bdc04e-9a0d-4306-9a9c-ee926fff6df8',\n", " 'name': 'root',\n", " 'health_status': 1,\n", " 'visible_status': 1,\n", @@ -302,13 +302,13 @@ " 'revealed_to_red': False,\n", " 'files': {},\n", " 'deleted_files': {}},\n", - " 'downloads': {'uuid': '484f7bcf-b8da-4995-8538-82b2a4d059c7',\n", + " 'downloads': {'uuid': '56abdf27-b8d4-42f4-9b09-b7912db1c4f3',\n", " 'name': 'downloads',\n", " 'health_status': 1,\n", " 'visible_status': 1,\n", " 'previous_hash': None,\n", " 'revealed_to_red': False,\n", - " 'files': {'firefox_installer.zip': {'uuid': '5e1e5bec-a984-4ae1-9799-78083bd2e3c2',\n", + " 'files': {'firefox_installer.zip': {'uuid': '02236b61-14bb-46aa-9fd5-7174c0d7d730',\n", " 'name': 'firefox_installer.zip',\n", " 'health_status': 1,\n", " 'visible_status': 1,\n", @@ -321,7 +321,7 @@ " 'deleted_folders': {},\n", " 'num_file_creations': 0,\n", " 'num_file_deletions': 0},\n", - " 'applications': {'WebBrowser': {'uuid': '5987fc38-686d-439f-b513-23166884596e',\n", + " 'applications': {'WebBrowser': {'uuid': 'a6a12776-e307-4d71-9e7a-d9ca97ecd6b0',\n", " 'health_state_actual': 0,\n", " 'health_state_visible': 0,\n", " 'criticality': 1,\n", @@ -338,7 +338,7 @@ " 'num_executions': 0,\n", " 'groups': [],\n", " 'history': []},\n", - " 'mspaint': {'uuid': '88eb36c5-dba4-4f79-ad95-5957f7de3fa2',\n", + " 'mspaint': {'uuid': 'efd34549-cc92-4474-80ab-5fb6c3159ff6',\n", " 'health_state_actual': 1,\n", " 'health_state_visible': 1,\n", " 'criticality': 3,\n", @@ -354,7 +354,7 @@ " 'execution_control_status': 'manual',\n", " 'num_executions': 0,\n", " 'groups': []}},\n", - " 'services': {'ARP': {'uuid': 'e220dde6-88d5-4e24-a2de-5bce0cd4a916',\n", + " 'services': {'ARP': {'uuid': 'e61c25ff-a6c2-4eec-b031-131eaf33490c',\n", " 'health_state_actual': 0,\n", " 'health_state_visible': 0,\n", " 'criticality': 1,\n", @@ -367,7 +367,7 @@ " 'udp': True,\n", " 'port': 219,\n", " 'operating_state': 2},\n", - " 'ICMP': {'uuid': 'ef728c73-97b7-480f-bedb-04dc3d5efd57',\n", + " 'ICMP': {'uuid': '74debeed-b758-41cb-bea2-51ac283e6ae2',\n", " 'health_state_actual': 0,\n", " 'health_state_visible': 0,\n", " 'criticality': 1,\n", @@ -380,7 +380,7 @@ " 'udp': True,\n", " 'port': 0,\n", " 'operating_state': 2},\n", - " 'DNSClient': {'uuid': '30b159f1-a4e8-41f5-923b-c692d104f385',\n", + " 'DNSClient': {'uuid': '6680efc0-e005-41e8-bb49-39a0d9c4b118',\n", " 'health_state_actual': 0,\n", " 'health_state_visible': 0,\n", " 'criticality': 1,\n", @@ -393,7 +393,7 @@ " 'udp': True,\n", " 'port': 53,\n", " 'operating_state': 2},\n", - " 'FTPClient': {'uuid': '5f267d5f-6bb8-4e97-b6b9-855ee2d50c25',\n", + " 'FTPClient': {'uuid': '21b05ac9-e9b4-4c5c-a812-f6748e14d8c3',\n", " 'health_state_actual': 0,\n", " 'health_state_visible': 0,\n", " 'criticality': 1,\n", @@ -406,7 +406,7 @@ " 'udp': True,\n", " 'port': 21,\n", " 'operating_state': 2},\n", - " 'NTPClient': {'uuid': '1ea99f1e-dc04-4548-a384-913851a7e4fd',\n", + " 'NTPClient': {'uuid': '7ab7c911-5037-4e82-b00c-be4f72c13aa7',\n", " 'health_state_actual': 0,\n", " 'health_state_visible': 0,\n", " 'criticality': 1,\n", @@ -421,11 +421,11 @@ " 'operating_state': 2}},\n", " 'process': {},\n", " 'revealed_to_red': False},\n", - " 'google_server': {'uuid': 'b9a41d9c-6642-441b-8049-8302ddafd3b1',\n", + " 'google_server': {'uuid': '42d61d8d-2493-4b8a-944f-7962abc9d20b',\n", " 'hostname': 'google_server',\n", " 'operating_state': 2,\n", - " 'NICs': {1: {'uuid': 'd0736beb-085a-4754-8b44-de73e6a8c80f',\n", - " 'mac_address': '45:27:ed:64:ac:09',\n", + " 'NICs': {1: {'uuid': 'e384a4fc-754f-44a4-9158-c63f72f52f76',\n", + " 'mac_address': 'ea:5d:4f:10:b2:27',\n", " 'speed': 100,\n", " 'mtu': 1500,\n", " 'enabled': False,\n", @@ -433,8 +433,8 @@ " 'ip_address': '192.168.1.11',\n", " 'subnet_mask': '255.255.255.0',\n", " 'wake_on_lan': False},\n", - " 2: {'uuid': '53993d8f-216e-4c00-9b03-c6bb9e2437b5',\n", - " 'mac_address': '17:9d:82:db:ca:c8',\n", + " 2: {'uuid': '8a628493-83fb-44bf-a1b0-ef19e362ae5f',\n", + " 'mac_address': '44:89:a5:ce:7f:6f',\n", " 'speed': 100,\n", " 'mtu': 1500,\n", " 'enabled': False,\n", @@ -442,14 +442,14 @@ " 'ip_address': '130.1.1.2',\n", " 'subnet_mask': '255.255.255.0',\n", " 'wake_on_lan': False}},\n", - " 'file_system': {'uuid': '8d4ded3a-56bb-46f0-ad7f-40d65b523581',\n", - " 'folders': {'root': {'uuid': '7a86576b-607f-468b-826f-4834cf2b3511',\n", + " 'file_system': {'uuid': 'f25cee1f-2ebe-4fd3-8d5c-649b0d342b61',\n", + " 'folders': {'root': {'uuid': 'cbbd3631-a915-400d-bc02-f31f72447ce5',\n", " 'name': 'root',\n", " 'health_status': 1,\n", " 'visible_status': 1,\n", " 'previous_hash': None,\n", " 'revealed_to_red': False,\n", - " 'files': {'favicon.ico': {'uuid': '24789051-6762-48f4-8a56-c28882374273',\n", + " 'files': {'favicon.ico': {'uuid': '3ceeded4-77b9-4a86-949c-73188d5f4c34',\n", " 'name': 'favicon.ico',\n", " 'health_status': 1,\n", " 'visible_status': 1,\n", @@ -459,7 +459,7 @@ " 'file_type': 'UNKNOWN',\n", " 'num_access': 0}},\n", " 'deleted_files': {}},\n", - " 'static': {'uuid': '154b2ad3-e43d-4924-b758-e11db0e176de',\n", + " 'static': {'uuid': 'd8241ce0-f55e-43ec-bd68-741b79a9a565',\n", " 'name': 'static',\n", " 'health_status': 1,\n", " 'visible_status': 1,\n", @@ -470,7 +470,7 @@ " 'deleted_folders': {},\n", " 'num_file_creations': 1,\n", " 'num_file_deletions': 0},\n", - " 'applications': {'WebBrowser': {'uuid': '9b368321-e22d-4e35-9395-80632492c20a',\n", + " 'applications': {'WebBrowser': {'uuid': '957d0049-e703-4882-8e57-b2ab4c79d458',\n", " 'health_state_actual': 0,\n", " 'health_state_visible': 0,\n", " 'criticality': 1,\n", @@ -487,7 +487,7 @@ " 'num_executions': 0,\n", " 'groups': [],\n", " 'history': []}},\n", - " 'services': {'ARP': {'uuid': '30df82c0-5823-4464-8c23-5b99922f98f7',\n", + " 'services': {'ARP': {'uuid': '82ea1bcf-a0fe-418d-873e-5f075ebb4d3b',\n", " 'health_state_actual': 0,\n", " 'health_state_visible': 0,\n", " 'criticality': 1,\n", @@ -500,7 +500,7 @@ " 'udp': True,\n", " 'port': 219,\n", " 'operating_state': 2},\n", - " 'ICMP': {'uuid': '2d02a2de-7ec8-4da1-9538-c85eb397d4e3',\n", + " 'ICMP': {'uuid': 'bc084dc4-0a7d-4954-9e6e-54bed797e837',\n", " 'health_state_actual': 0,\n", " 'health_state_visible': 0,\n", " 'criticality': 1,\n", @@ -513,7 +513,7 @@ " 'udp': True,\n", " 'port': 0,\n", " 'operating_state': 2},\n", - " 'DNSClient': {'uuid': 'db979263-ff81-4a04-95e8-d94442e9ddfa',\n", + " 'DNSClient': {'uuid': '5a9ecc18-71c0-4728-a9c6-e31b33529581',\n", " 'health_state_actual': 0,\n", " 'health_state_visible': 0,\n", " 'criticality': 1,\n", @@ -526,7 +526,7 @@ " 'udp': True,\n", " 'port': 53,\n", " 'operating_state': 2},\n", - " 'FTPClient': {'uuid': 'd9d6417b-d1e0-416b-a711-3478fa248194',\n", + " 'FTPClient': {'uuid': 'f0a411eb-5423-4c98-8689-d94af57deefc',\n", " 'health_state_actual': 0,\n", " 'health_state_visible': 0,\n", " 'criticality': 1,\n", @@ -539,7 +539,7 @@ " 'udp': True,\n", " 'port': 21,\n", " 'operating_state': 2},\n", - " 'NTPClient': {'uuid': 'b23a1032-a817-492b-bdd6-2ecc6fb4591c',\n", + " 'NTPClient': {'uuid': 'd36f2c4f-af30-4618-ae8e-fe68c98e1382',\n", " 'health_state_actual': 0,\n", " 'health_state_visible': 0,\n", " 'criticality': 1,\n", @@ -554,83 +554,83 @@ " 'operating_state': 2}},\n", " 'process': {},\n", " 'revealed_to_red': False},\n", - " 'switch1': {'uuid': 'e658eac3-c4b8-4768-bf27-e2d90b7f57c0',\n", + " 'switch1': {'uuid': 'a9e08b28-d1f4-4c34-b410-71333cd6b42b',\n", " 'hostname': 'switch1',\n", " 'operating_state': 2,\n", - " 'NICs': {1: {'uuid': '7ebc80f5-902f-4253-8ea6-0cafa3d1cccd',\n", - " 'mac_address': 'df:d2:c7:2a:a1:52',\n", + " 'NICs': {1: {'uuid': '3546e960-30f8-49ee-95b9-57570b228333',\n", + " 'mac_address': '8d:d9:3e:f3:a3:ce',\n", " 'speed': 100,\n", " 'mtu': 1500,\n", " 'enabled': False,\n", " 'nmne': {}},\n", - " 2: {'uuid': 'c03d4d22-f309-49b6-a1ad-45a04c40d25e',\n", - " 'mac_address': '84:01:f3:bb:47:1c',\n", + " 2: {'uuid': 'a049bb8f-53d3-4575-b325-dfb55516edcd',\n", + " 'mac_address': 'aa:45:88:e1:13:e5',\n", " 'speed': 100,\n", " 'mtu': 1500,\n", " 'enabled': False,\n", " 'nmne': {}},\n", - " 3: {'uuid': '4207353c-e0cd-456d-89fe-13ddfc605cff',\n", - " 'mac_address': '8b:31:ac:cc:05:c9',\n", + " 3: {'uuid': '179c030c-d8fe-474b-a9d1-6c6bd6e6ca63',\n", + " 'mac_address': '10:d7:bc:39:4d:9d',\n", " 'speed': 100,\n", " 'mtu': 1500,\n", " 'enabled': False,\n", " 'nmne': {}},\n", - " 4: {'uuid': '8aa1395f-e360-48a7-be97-ed1a5ca191ae',\n", - " 'mac_address': '75:3c:ae:bd:3a:b5',\n", + " 4: {'uuid': '56f84a14-0a98-4bc5-983b-31900fc9a2c5',\n", + " 'mac_address': '61:62:18:cf:2a:ea',\n", " 'speed': 100,\n", " 'mtu': 1500,\n", " 'enabled': False,\n", " 'nmne': {}},\n", - " 5: {'uuid': '8b5d575c-ab0c-43ac-abfc-fa5ae75183e5',\n", - " 'mac_address': 'e7:7f:c4:af:8e:5b',\n", + " 5: {'uuid': '0ff4b64e-be4c-473e-8dcd-b7a0078ff890',\n", + " 'mac_address': '21:5e:6b:1b:d0:bf',\n", " 'speed': 100,\n", " 'mtu': 1500,\n", " 'enabled': False,\n", " 'nmne': {}},\n", - " 6: {'uuid': '9d3cd584-f684-4f2e-9c8a-423d859fe3d3',\n", - " 'mac_address': '48:cf:18:8d:92:80',\n", + " 6: {'uuid': '0edf239b-bbb8-4076-ba85-cb07c65722d5',\n", + " 'mac_address': '40:58:ac:11:9c:1a',\n", " 'speed': 100,\n", " 'mtu': 1500,\n", " 'enabled': False,\n", " 'nmne': {}},\n", - " 7: {'uuid': 'd42338bb-d579-483d-9e05-0318e17e574a',\n", - " 'mac_address': 'c6:99:5c:41:13:d7',\n", + " 7: {'uuid': 'a7f578e5-a6f5-4cf8-abca-207e483637c2',\n", + " 'mac_address': 'e0:ef:90:e2:ce:b4',\n", " 'speed': 100,\n", " 'mtu': 1500,\n", " 'enabled': False,\n", " 'nmne': {}},\n", - " 8: {'uuid': '55bbd70b-491d-4452-8326-390ec3fadc28',\n", - " 'mac_address': '81:ab:39:0c:a2:dd',\n", + " 8: {'uuid': 'dc2069dd-ef3c-4e0b-81cb-a73caba917a8',\n", + " 'mac_address': '2c:2a:27:d6:9a:a8',\n", " 'speed': 100,\n", " 'mtu': 1500,\n", " 'enabled': False,\n", " 'nmne': {}},\n", - " 9: {'uuid': '0755d768-79c7-48cf-9220-d2dad32e574b',\n", - " 'mac_address': '62:35:0c:5e:cc:5d',\n", + " 9: {'uuid': 'afbc1a01-efdb-424c-9a7d-b3c3165f6d78',\n", + " 'mac_address': 'e0:f5:79:04:4f:2a',\n", " 'speed': 100,\n", " 'mtu': 1500,\n", " 'enabled': False,\n", " 'nmne': {}},\n", - " 10: {'uuid': 'deaecc57-ec76-4e27-a37e-f66964901b03',\n", - " 'mac_address': '51:26:00:c6:7e:ac',\n", + " 10: {'uuid': 'bdd805f4-a3dc-4a94-ba67-3a62b138f41c',\n", + " 'mac_address': '9a:20:3d:cb:a0:98',\n", " 'speed': 100,\n", " 'mtu': 1500,\n", " 'enabled': False,\n", " 'nmne': {}},\n", - " 11: {'uuid': '53fe318c-4969-42fe-920b-37a491f54d84',\n", - " 'mac_address': '35:59:c7:13:ab:a5',\n", + " 11: {'uuid': '19f6f871-cba9-423a-a1a5-6a0e347e98cb',\n", + " 'mac_address': '69:d9:8c:1d:a9:75',\n", " 'speed': 100,\n", " 'mtu': 1500,\n", " 'enabled': False,\n", " 'nmne': {}},\n", - " 12: {'uuid': '5a81caa0-9d91-4a86-9bd4-4ecb589c70ae',\n", - " 'mac_address': '7a:6b:ec:15:1e:de',\n", + " 12: {'uuid': '5c2aa6f5-12ce-466b-b46b-95ec519a5f47',\n", + " 'mac_address': 'db:7e:8c:91:1b:3f',\n", " 'speed': 100,\n", " 'mtu': 1500,\n", " 'enabled': False,\n", " 'nmne': {}}},\n", - " 'file_system': {'uuid': '289bea1e-69bf-44d5-80fe-212dad8afcd5',\n", - " 'folders': {'root': {'uuid': '3b588b3c-bc4a-4c06-a688-eced0128b128',\n", + " 'file_system': {'uuid': '91dea1d3-3947-49b9-a691-750bc25bbb9c',\n", + " 'folders': {'root': {'uuid': 'b7ebbf43-d86f-43d3-bbc7-f6b197af40b9',\n", " 'name': 'root',\n", " 'health_status': 1,\n", " 'visible_status': 1,\n", @@ -645,100 +645,100 @@ " 'services': {},\n", " 'process': {},\n", " 'revealed_to_red': False,\n", - " 'ports': {1: {'uuid': '7ebc80f5-902f-4253-8ea6-0cafa3d1cccd',\n", - " 'mac_address': 'df:d2:c7:2a:a1:52',\n", + " 'ports': {1: {'uuid': '3546e960-30f8-49ee-95b9-57570b228333',\n", + " 'mac_address': '8d:d9:3e:f3:a3:ce',\n", " 'speed': 100,\n", " 'mtu': 1500,\n", " 'enabled': False,\n", " 'nmne': {}},\n", - " 2: {'uuid': 'c03d4d22-f309-49b6-a1ad-45a04c40d25e',\n", - " 'mac_address': '84:01:f3:bb:47:1c',\n", + " 2: {'uuid': 'a049bb8f-53d3-4575-b325-dfb55516edcd',\n", + " 'mac_address': 'aa:45:88:e1:13:e5',\n", " 'speed': 100,\n", " 'mtu': 1500,\n", " 'enabled': False,\n", " 'nmne': {}},\n", - " 3: {'uuid': '4207353c-e0cd-456d-89fe-13ddfc605cff',\n", - " 'mac_address': '8b:31:ac:cc:05:c9',\n", + " 3: {'uuid': '179c030c-d8fe-474b-a9d1-6c6bd6e6ca63',\n", + " 'mac_address': '10:d7:bc:39:4d:9d',\n", " 'speed': 100,\n", " 'mtu': 1500,\n", " 'enabled': False,\n", " 'nmne': {}},\n", - " 4: {'uuid': '8aa1395f-e360-48a7-be97-ed1a5ca191ae',\n", - " 'mac_address': '75:3c:ae:bd:3a:b5',\n", + " 4: {'uuid': '56f84a14-0a98-4bc5-983b-31900fc9a2c5',\n", + " 'mac_address': '61:62:18:cf:2a:ea',\n", " 'speed': 100,\n", " 'mtu': 1500,\n", " 'enabled': False,\n", " 'nmne': {}},\n", - " 5: {'uuid': '8b5d575c-ab0c-43ac-abfc-fa5ae75183e5',\n", - " 'mac_address': 'e7:7f:c4:af:8e:5b',\n", + " 5: {'uuid': '0ff4b64e-be4c-473e-8dcd-b7a0078ff890',\n", + " 'mac_address': '21:5e:6b:1b:d0:bf',\n", " 'speed': 100,\n", " 'mtu': 1500,\n", " 'enabled': False,\n", " 'nmne': {}},\n", - " 6: {'uuid': '9d3cd584-f684-4f2e-9c8a-423d859fe3d3',\n", - " 'mac_address': '48:cf:18:8d:92:80',\n", + " 6: {'uuid': '0edf239b-bbb8-4076-ba85-cb07c65722d5',\n", + " 'mac_address': '40:58:ac:11:9c:1a',\n", " 'speed': 100,\n", " 'mtu': 1500,\n", " 'enabled': False,\n", " 'nmne': {}},\n", - " 7: {'uuid': 'd42338bb-d579-483d-9e05-0318e17e574a',\n", - " 'mac_address': 'c6:99:5c:41:13:d7',\n", + " 7: {'uuid': 'a7f578e5-a6f5-4cf8-abca-207e483637c2',\n", + " 'mac_address': 'e0:ef:90:e2:ce:b4',\n", " 'speed': 100,\n", " 'mtu': 1500,\n", " 'enabled': False,\n", " 'nmne': {}},\n", - " 8: {'uuid': '55bbd70b-491d-4452-8326-390ec3fadc28',\n", - " 'mac_address': '81:ab:39:0c:a2:dd',\n", + " 8: {'uuid': 'dc2069dd-ef3c-4e0b-81cb-a73caba917a8',\n", + " 'mac_address': '2c:2a:27:d6:9a:a8',\n", " 'speed': 100,\n", " 'mtu': 1500,\n", " 'enabled': False,\n", " 'nmne': {}},\n", - " 9: {'uuid': '0755d768-79c7-48cf-9220-d2dad32e574b',\n", - " 'mac_address': '62:35:0c:5e:cc:5d',\n", + " 9: {'uuid': 'afbc1a01-efdb-424c-9a7d-b3c3165f6d78',\n", + " 'mac_address': 'e0:f5:79:04:4f:2a',\n", " 'speed': 100,\n", " 'mtu': 1500,\n", " 'enabled': False,\n", " 'nmne': {}},\n", - " 10: {'uuid': 'deaecc57-ec76-4e27-a37e-f66964901b03',\n", - " 'mac_address': '51:26:00:c6:7e:ac',\n", + " 10: {'uuid': 'bdd805f4-a3dc-4a94-ba67-3a62b138f41c',\n", + " 'mac_address': '9a:20:3d:cb:a0:98',\n", " 'speed': 100,\n", " 'mtu': 1500,\n", " 'enabled': False,\n", " 'nmne': {}},\n", - " 11: {'uuid': '53fe318c-4969-42fe-920b-37a491f54d84',\n", - " 'mac_address': '35:59:c7:13:ab:a5',\n", + " 11: {'uuid': '19f6f871-cba9-423a-a1a5-6a0e347e98cb',\n", + " 'mac_address': '69:d9:8c:1d:a9:75',\n", " 'speed': 100,\n", " 'mtu': 1500,\n", " 'enabled': False,\n", " 'nmne': {}},\n", - " 12: {'uuid': '5a81caa0-9d91-4a86-9bd4-4ecb589c70ae',\n", - " 'mac_address': '7a:6b:ec:15:1e:de',\n", + " 12: {'uuid': '5c2aa6f5-12ce-466b-b46b-95ec519a5f47',\n", + " 'mac_address': 'db:7e:8c:91:1b:3f',\n", " 'speed': 100,\n", " 'mtu': 1500,\n", " 'enabled': False,\n", " 'nmne': {}}},\n", " 'num_ports': 12,\n", " 'mac_address_table': {}}},\n", - " 'links': {'primaite_pc:eth-2<->switch1:eth-1': {'uuid': '3d053257-7473-4a66-afbc-ee33a18f2e39',\n", - " 'endpoint_a': 'e0fbda66-afcb-4a79-b696-aad0778279a2',\n", - " 'endpoint_b': '7ebc80f5-902f-4253-8ea6-0cafa3d1cccd',\n", + " 'links': {'primaite_pc:eth-2<->switch1:eth-1': {'uuid': '405f3032-6f5d-427f-b42e-5eee4cdc3a7c',\n", + " 'endpoint_a': '40c0db02-4d14-4826-b49b-e6a521941cec',\n", + " 'endpoint_b': '3546e960-30f8-49ee-95b9-57570b228333',\n", " 'bandwidth': 100.0,\n", " 'current_load': 0.0,\n", " 'hostname_a': 'primaite_pc',\n", " 'hostname_b': 'switch1',\n", " 'port_a': 2,\n", " 'port_b': 1},\n", - " 'google_server:eth-2<->switch1:eth-2': {'uuid': '42b8f911-3640-4ccb-b277-b48b294a1fc8',\n", - " 'endpoint_a': '53993d8f-216e-4c00-9b03-c6bb9e2437b5',\n", - " 'endpoint_b': 'c03d4d22-f309-49b6-a1ad-45a04c40d25e',\n", + " 'google_server:eth-2<->switch1:eth-2': {'uuid': '2bd19485-0a6b-4878-978b-b082a672d9b9',\n", + " 'endpoint_a': '8a628493-83fb-44bf-a1b0-ef19e362ae5f',\n", + " 'endpoint_b': 'a049bb8f-53d3-4575-b325-dfb55516edcd',\n", " 'bandwidth': 100.0,\n", " 'current_load': 0.0,\n", " 'hostname_a': 'google_server',\n", " 'hostname_b': 'switch1',\n", " 'port_a': 2,\n", " 'port_b': 2}}},\n", - " 'domain': {'uuid': 'f0629156-e9af-493d-b098-f47d73126122',\n", - " 'accounts': {'admin': {'uuid': 'b76653a9-d40e-483b-85a3-1b44628a11d0',\n", + " 'domain': {'uuid': '25fbe0e9-76e8-4fd7-ad22-da2d2b5a509d',\n", + " 'accounts': {'admin': {'uuid': '78783f13-6149-47b3-9b9d-f98d658bf54a',\n", " 'num_logons': 0,\n", " 'num_logoffs': 0,\n", " 'num_group_changes': 0,\n", @@ -748,7 +748,7 @@ " 'enabled': True}}}}" ] }, - "execution_count": 133, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -759,16 +759,16 @@ }, { "cell_type": "code", - "execution_count": 134, + "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "'{\"uuid\": \"42d005b2-4dc8-4aec-be54-3493242eee32\", \"network\": {\"uuid\": \"069f61a4-ac40-431f-ad13-2fc9b26dc091\", \"nodes\": {\"primaite_pc\": {\"uuid\": \"52246eed-9a3f-4b19-ad0c-48fc3bbb998d\", \"hostname\": \"primaite_pc\", \"operating_state\": 2, \"NICs\": {\"1\": {\"uuid\": \"73dcb42e-7db4-45cf-b439-9b8066c8e32e\", \"mac_address\": \"c9:84:ec:48:87:77\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}, \"ip_address\": \"192.168.1.10\", \"subnet_mask\": \"255.255.255.0\", \"wake_on_lan\": false}, \"2\": {\"uuid\": \"e0fbda66-afcb-4a79-b696-aad0778279a2\", \"mac_address\": \"cb:66:8b:b2:dc:51\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}, \"ip_address\": \"130.1.1.1\", \"subnet_mask\": \"255.255.255.0\", \"wake_on_lan\": false}}, \"file_system\": {\"uuid\": \"8a857927-dd5e-40e9-86fd-1df8b3a2b463\", \"folders\": {\"root\": {\"uuid\": \"acb725c9-461e-40c5-b2c0-ed198865e1f2\", \"name\": \"root\", \"health_status\": 1, \"visible_status\": 1, \"previous_hash\": null, \"revealed_to_red\": false, \"files\": {}, \"deleted_files\": {}}, \"downloads\": {\"uuid\": \"484f7bcf-b8da-4995-8538-82b2a4d059c7\", \"name\": \"downloads\", \"health_status\": 1, \"visible_status\": 1, \"previous_hash\": null, \"revealed_to_red\": false, \"files\": {\"firefox_installer.zip\": {\"uuid\": \"5e1e5bec-a984-4ae1-9799-78083bd2e3c2\", \"name\": \"firefox_installer.zip\", \"health_status\": 1, \"visible_status\": 1, \"previous_hash\": null, \"revealed_to_red\": false, \"size\": 1024000, \"file_type\": \"ZIP\", \"num_access\": 0}}, \"deleted_files\": {}}}, \"deleted_folders\": {}, \"num_file_creations\": 0, \"num_file_deletions\": 0}, \"applications\": {\"WebBrowser\": {\"uuid\": \"5987fc38-686d-439f-b513-23166884596e\", \"health_state_actual\": 0, \"health_state_visible\": 0, \"criticality\": 1, \"fixing_count\": 0, \"scanning_count\": 0, \"revealed_to_red\": false, \"installing_count\": 0, \"max_sessions\": 100, \"tcp\": true, \"udp\": true, \"port\": 80, \"operating_state\": 2, \"execution_control_status\": \"manual\", \"num_executions\": 0, \"groups\": [], \"history\": []}, \"mspaint\": {\"uuid\": \"88eb36c5-dba4-4f79-ad95-5957f7de3fa2\", \"health_state_actual\": 1, \"health_state_visible\": 1, \"criticality\": 3, \"fixing_count\": 0, \"scanning_count\": 0, \"revealed_to_red\": false, \"installing_count\": 0, \"max_sessions\": 100, \"tcp\": true, \"udp\": true, \"port\": 80, \"operating_state\": 1, \"execution_control_status\": \"manual\", \"num_executions\": 0, \"groups\": []}}, \"services\": {\"ARP\": {\"uuid\": \"e220dde6-88d5-4e24-a2de-5bce0cd4a916\", \"health_state_actual\": 0, \"health_state_visible\": 0, \"criticality\": 1, \"fixing_count\": 0, \"scanning_count\": 0, \"revealed_to_red\": false, \"installing_count\": 0, \"max_sessions\": 100, \"tcp\": true, \"udp\": true, \"port\": 219, \"operating_state\": 2}, \"ICMP\": {\"uuid\": \"ef728c73-97b7-480f-bedb-04dc3d5efd57\", \"health_state_actual\": 0, \"health_state_visible\": 0, \"criticality\": 1, \"fixing_count\": 0, \"scanning_count\": 0, \"revealed_to_red\": false, \"installing_count\": 0, \"max_sessions\": 100, \"tcp\": true, \"udp\": true, \"port\": 0, \"operating_state\": 2}, \"DNSClient\": {\"uuid\": \"30b159f1-a4e8-41f5-923b-c692d104f385\", \"health_state_actual\": 0, \"health_state_visible\": 0, \"criticality\": 1, \"fixing_count\": 0, \"scanning_count\": 0, \"revealed_to_red\": false, \"installing_count\": 0, \"max_sessions\": 100, \"tcp\": true, \"udp\": true, \"port\": 53, \"operating_state\": 2}, \"FTPClient\": {\"uuid\": \"5f267d5f-6bb8-4e97-b6b9-855ee2d50c25\", \"health_state_actual\": 0, \"health_state_visible\": 0, \"criticality\": 1, \"fixing_count\": 0, \"scanning_count\": 0, \"revealed_to_red\": false, \"installing_count\": 0, \"max_sessions\": 100, \"tcp\": true, \"udp\": true, \"port\": 21, \"operating_state\": 2}, \"NTPClient\": {\"uuid\": \"1ea99f1e-dc04-4548-a384-913851a7e4fd\", \"health_state_actual\": 0, \"health_state_visible\": 0, \"criticality\": 1, \"fixing_count\": 0, \"scanning_count\": 0, \"revealed_to_red\": false, \"installing_count\": 0, \"max_sessions\": 100, \"tcp\": true, \"udp\": true, \"port\": 123, \"operating_state\": 2}}, \"process\": {}, \"revealed_to_red\": false}, \"google_server\": {\"uuid\": \"b9a41d9c-6642-441b-8049-8302ddafd3b1\", \"hostname\": \"google_server\", \"operating_state\": 2, \"NICs\": {\"1\": {\"uuid\": \"d0736beb-085a-4754-8b44-de73e6a8c80f\", \"mac_address\": \"45:27:ed:64:ac:09\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}, \"ip_address\": \"192.168.1.11\", \"subnet_mask\": \"255.255.255.0\", \"wake_on_lan\": false}, \"2\": {\"uuid\": \"53993d8f-216e-4c00-9b03-c6bb9e2437b5\", \"mac_address\": \"17:9d:82:db:ca:c8\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}, \"ip_address\": \"130.1.1.2\", \"subnet_mask\": \"255.255.255.0\", \"wake_on_lan\": false}}, \"file_system\": {\"uuid\": \"8d4ded3a-56bb-46f0-ad7f-40d65b523581\", \"folders\": {\"root\": {\"uuid\": \"7a86576b-607f-468b-826f-4834cf2b3511\", \"name\": \"root\", \"health_status\": 1, \"visible_status\": 1, \"previous_hash\": null, \"revealed_to_red\": false, \"files\": {\"favicon.ico\": {\"uuid\": \"24789051-6762-48f4-8a56-c28882374273\", \"name\": \"favicon.ico\", \"health_status\": 1, \"visible_status\": 1, \"previous_hash\": null, \"revealed_to_red\": false, \"size\": 0, \"file_type\": \"UNKNOWN\", \"num_access\": 0}}, \"deleted_files\": {}}, \"static\": {\"uuid\": \"154b2ad3-e43d-4924-b758-e11db0e176de\", \"name\": \"static\", \"health_status\": 1, \"visible_status\": 1, \"previous_hash\": null, \"revealed_to_red\": false, \"files\": {}, \"deleted_files\": {}}}, \"deleted_folders\": {}, \"num_file_creations\": 1, \"num_file_deletions\": 0}, \"applications\": {\"WebBrowser\": {\"uuid\": \"9b368321-e22d-4e35-9395-80632492c20a\", \"health_state_actual\": 0, \"health_state_visible\": 0, \"criticality\": 1, \"fixing_count\": 0, \"scanning_count\": 0, \"revealed_to_red\": false, \"installing_count\": 0, \"max_sessions\": 100, \"tcp\": true, \"udp\": true, \"port\": 80, \"operating_state\": 2, \"execution_control_status\": \"manual\", \"num_executions\": 0, \"groups\": [], \"history\": []}}, \"services\": {\"ARP\": {\"uuid\": \"30df82c0-5823-4464-8c23-5b99922f98f7\", \"health_state_actual\": 0, \"health_state_visible\": 0, \"criticality\": 1, \"fixing_count\": 0, \"scanning_count\": 0, \"revealed_to_red\": false, \"installing_count\": 0, \"max_sessions\": 100, \"tcp\": true, \"udp\": true, \"port\": 219, \"operating_state\": 2}, \"ICMP\": {\"uuid\": \"2d02a2de-7ec8-4da1-9538-c85eb397d4e3\", \"health_state_actual\": 0, \"health_state_visible\": 0, \"criticality\": 1, \"fixing_count\": 0, \"scanning_count\": 0, \"revealed_to_red\": false, \"installing_count\": 0, \"max_sessions\": 100, \"tcp\": true, \"udp\": true, \"port\": 0, \"operating_state\": 2}, \"DNSClient\": {\"uuid\": \"db979263-ff81-4a04-95e8-d94442e9ddfa\", \"health_state_actual\": 0, \"health_state_visible\": 0, \"criticality\": 1, \"fixing_count\": 0, \"scanning_count\": 0, \"revealed_to_red\": false, \"installing_count\": 0, \"max_sessions\": 100, \"tcp\": true, \"udp\": true, \"port\": 53, \"operating_state\": 2}, \"FTPClient\": {\"uuid\": \"d9d6417b-d1e0-416b-a711-3478fa248194\", \"health_state_actual\": 0, \"health_state_visible\": 0, \"criticality\": 1, \"fixing_count\": 0, \"scanning_count\": 0, \"revealed_to_red\": false, \"installing_count\": 0, \"max_sessions\": 100, \"tcp\": true, \"udp\": true, \"port\": 21, \"operating_state\": 2}, \"NTPClient\": {\"uuid\": \"b23a1032-a817-492b-bdd6-2ecc6fb4591c\", \"health_state_actual\": 0, \"health_state_visible\": 0, \"criticality\": 1, \"fixing_count\": 0, \"scanning_count\": 0, \"revealed_to_red\": false, \"installing_count\": 0, \"max_sessions\": 100, \"tcp\": true, \"udp\": true, \"port\": 123, \"operating_state\": 2}}, \"process\": {}, \"revealed_to_red\": false}, \"switch1\": {\"uuid\": \"e658eac3-c4b8-4768-bf27-e2d90b7f57c0\", \"hostname\": \"switch1\", \"operating_state\": 2, \"NICs\": {\"1\": {\"uuid\": \"7ebc80f5-902f-4253-8ea6-0cafa3d1cccd\", \"mac_address\": \"df:d2:c7:2a:a1:52\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"2\": {\"uuid\": \"c03d4d22-f309-49b6-a1ad-45a04c40d25e\", \"mac_address\": \"84:01:f3:bb:47:1c\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"3\": {\"uuid\": \"4207353c-e0cd-456d-89fe-13ddfc605cff\", \"mac_address\": \"8b:31:ac:cc:05:c9\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"4\": {\"uuid\": \"8aa1395f-e360-48a7-be97-ed1a5ca191ae\", \"mac_address\": \"75:3c:ae:bd:3a:b5\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"5\": {\"uuid\": \"8b5d575c-ab0c-43ac-abfc-fa5ae75183e5\", \"mac_address\": \"e7:7f:c4:af:8e:5b\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"6\": {\"uuid\": \"9d3cd584-f684-4f2e-9c8a-423d859fe3d3\", \"mac_address\": \"48:cf:18:8d:92:80\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"7\": {\"uuid\": \"d42338bb-d579-483d-9e05-0318e17e574a\", \"mac_address\": \"c6:99:5c:41:13:d7\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"8\": {\"uuid\": \"55bbd70b-491d-4452-8326-390ec3fadc28\", \"mac_address\": \"81:ab:39:0c:a2:dd\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"9\": {\"uuid\": \"0755d768-79c7-48cf-9220-d2dad32e574b\", \"mac_address\": \"62:35:0c:5e:cc:5d\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"10\": {\"uuid\": \"deaecc57-ec76-4e27-a37e-f66964901b03\", \"mac_address\": \"51:26:00:c6:7e:ac\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"11\": {\"uuid\": \"53fe318c-4969-42fe-920b-37a491f54d84\", \"mac_address\": \"35:59:c7:13:ab:a5\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"12\": {\"uuid\": \"5a81caa0-9d91-4a86-9bd4-4ecb589c70ae\", \"mac_address\": \"7a:6b:ec:15:1e:de\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}}, \"file_system\": {\"uuid\": \"289bea1e-69bf-44d5-80fe-212dad8afcd5\", \"folders\": {\"root\": {\"uuid\": \"3b588b3c-bc4a-4c06-a688-eced0128b128\", \"name\": \"root\", \"health_status\": 1, \"visible_status\": 1, \"previous_hash\": null, \"revealed_to_red\": false, \"files\": {}, \"deleted_files\": {}}}, \"deleted_folders\": {}, \"num_file_creations\": 0, \"num_file_deletions\": 0}, \"applications\": {}, \"services\": {}, \"process\": {}, \"revealed_to_red\": false, \"ports\": {\"1\": {\"uuid\": \"7ebc80f5-902f-4253-8ea6-0cafa3d1cccd\", \"mac_address\": \"df:d2:c7:2a:a1:52\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"2\": {\"uuid\": \"c03d4d22-f309-49b6-a1ad-45a04c40d25e\", \"mac_address\": \"84:01:f3:bb:47:1c\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"3\": {\"uuid\": \"4207353c-e0cd-456d-89fe-13ddfc605cff\", \"mac_address\": \"8b:31:ac:cc:05:c9\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"4\": {\"uuid\": \"8aa1395f-e360-48a7-be97-ed1a5ca191ae\", \"mac_address\": \"75:3c:ae:bd:3a:b5\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"5\": {\"uuid\": \"8b5d575c-ab0c-43ac-abfc-fa5ae75183e5\", \"mac_address\": \"e7:7f:c4:af:8e:5b\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"6\": {\"uuid\": \"9d3cd584-f684-4f2e-9c8a-423d859fe3d3\", \"mac_address\": \"48:cf:18:8d:92:80\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"7\": {\"uuid\": \"d42338bb-d579-483d-9e05-0318e17e574a\", \"mac_address\": \"c6:99:5c:41:13:d7\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"8\": {\"uuid\": \"55bbd70b-491d-4452-8326-390ec3fadc28\", \"mac_address\": \"81:ab:39:0c:a2:dd\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"9\": {\"uuid\": \"0755d768-79c7-48cf-9220-d2dad32e574b\", \"mac_address\": \"62:35:0c:5e:cc:5d\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"10\": {\"uuid\": \"deaecc57-ec76-4e27-a37e-f66964901b03\", \"mac_address\": \"51:26:00:c6:7e:ac\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"11\": {\"uuid\": \"53fe318c-4969-42fe-920b-37a491f54d84\", \"mac_address\": \"35:59:c7:13:ab:a5\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"12\": {\"uuid\": \"5a81caa0-9d91-4a86-9bd4-4ecb589c70ae\", \"mac_address\": \"7a:6b:ec:15:1e:de\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}}, \"num_ports\": 12, \"mac_address_table\": {}}}, \"links\": {\"primaite_pc:eth-2<->switch1:eth-1\": {\"uuid\": \"3d053257-7473-4a66-afbc-ee33a18f2e39\", \"endpoint_a\": \"e0fbda66-afcb-4a79-b696-aad0778279a2\", \"endpoint_b\": \"7ebc80f5-902f-4253-8ea6-0cafa3d1cccd\", \"bandwidth\": 100.0, \"current_load\": 0.0, \"hostname_a\": \"primaite_pc\", \"hostname_b\": \"switch1\", \"port_a\": 2, \"port_b\": 1}, \"google_server:eth-2<->switch1:eth-2\": {\"uuid\": \"42b8f911-3640-4ccb-b277-b48b294a1fc8\", \"endpoint_a\": \"53993d8f-216e-4c00-9b03-c6bb9e2437b5\", \"endpoint_b\": \"c03d4d22-f309-49b6-a1ad-45a04c40d25e\", \"bandwidth\": 100.0, \"current_load\": 0.0, \"hostname_a\": \"google_server\", \"hostname_b\": \"switch1\", \"port_a\": 2, \"port_b\": 2}}}, \"domain\": {\"uuid\": \"f0629156-e9af-493d-b098-f47d73126122\", \"accounts\": {\"admin\": {\"uuid\": \"b76653a9-d40e-483b-85a3-1b44628a11d0\", \"num_logons\": 0, \"num_logoffs\": 0, \"num_group_changes\": 0, \"username\": \"admin\", \"password\": \"admin12\", \"account_type\": 2, \"enabled\": true}}}}'" + "'{\"uuid\": \"91c88b2a-caf1-47be-a394-d0c22e5110be\", \"network\": {\"uuid\": \"a9121808-0401-460c-9833-23d4ba91e9bc\", \"nodes\": {\"primaite_pc\": {\"uuid\": \"dd0e95be-2491-4d5b-8388-df3975a19e8a\", \"hostname\": \"primaite_pc\", \"operating_state\": 2, \"NICs\": {\"1\": {\"uuid\": \"279e2645-b680-4d2e-b13c-66d5cfacbd38\", \"mac_address\": \"bd:76:20:24:cf:04\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}, \"ip_address\": \"192.168.1.10\", \"subnet_mask\": \"255.255.255.0\", \"wake_on_lan\": false}, \"2\": {\"uuid\": \"40c0db02-4d14-4826-b49b-e6a521941cec\", \"mac_address\": \"d8:b2:0c:af:3f:83\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}, \"ip_address\": \"130.1.1.1\", \"subnet_mask\": \"255.255.255.0\", \"wake_on_lan\": false}}, \"file_system\": {\"uuid\": \"91d3aed7-53c6-471f-b903-9889396be280\", \"folders\": {\"root\": {\"uuid\": \"81bdc04e-9a0d-4306-9a9c-ee926fff6df8\", \"name\": \"root\", \"health_status\": 1, \"visible_status\": 1, \"previous_hash\": null, \"revealed_to_red\": false, \"files\": {}, \"deleted_files\": {}}, \"downloads\": {\"uuid\": \"56abdf27-b8d4-42f4-9b09-b7912db1c4f3\", \"name\": \"downloads\", \"health_status\": 1, \"visible_status\": 1, \"previous_hash\": null, \"revealed_to_red\": false, \"files\": {\"firefox_installer.zip\": {\"uuid\": \"02236b61-14bb-46aa-9fd5-7174c0d7d730\", \"name\": \"firefox_installer.zip\", \"health_status\": 1, \"visible_status\": 1, \"previous_hash\": null, \"revealed_to_red\": false, \"size\": 1024000, \"file_type\": \"ZIP\", \"num_access\": 0}}, \"deleted_files\": {}}}, \"deleted_folders\": {}, \"num_file_creations\": 0, \"num_file_deletions\": 0}, \"applications\": {\"WebBrowser\": {\"uuid\": \"a6a12776-e307-4d71-9e7a-d9ca97ecd6b0\", \"health_state_actual\": 0, \"health_state_visible\": 0, \"criticality\": 1, \"fixing_count\": 0, \"scanning_count\": 0, \"revealed_to_red\": false, \"installing_count\": 0, \"max_sessions\": 100, \"tcp\": true, \"udp\": true, \"port\": 80, \"operating_state\": 2, \"execution_control_status\": \"manual\", \"num_executions\": 0, \"groups\": [], \"history\": []}, \"mspaint\": {\"uuid\": \"efd34549-cc92-4474-80ab-5fb6c3159ff6\", \"health_state_actual\": 1, \"health_state_visible\": 1, \"criticality\": 3, \"fixing_count\": 0, \"scanning_count\": 0, \"revealed_to_red\": false, \"installing_count\": 0, \"max_sessions\": 100, \"tcp\": true, \"udp\": true, \"port\": 80, \"operating_state\": 1, \"execution_control_status\": \"manual\", \"num_executions\": 0, \"groups\": []}}, \"services\": {\"ARP\": {\"uuid\": \"e61c25ff-a6c2-4eec-b031-131eaf33490c\", \"health_state_actual\": 0, \"health_state_visible\": 0, \"criticality\": 1, \"fixing_count\": 0, \"scanning_count\": 0, \"revealed_to_red\": false, \"installing_count\": 0, \"max_sessions\": 100, \"tcp\": true, \"udp\": true, \"port\": 219, \"operating_state\": 2}, \"ICMP\": {\"uuid\": \"74debeed-b758-41cb-bea2-51ac283e6ae2\", \"health_state_actual\": 0, \"health_state_visible\": 0, \"criticality\": 1, \"fixing_count\": 0, \"scanning_count\": 0, \"revealed_to_red\": false, \"installing_count\": 0, \"max_sessions\": 100, \"tcp\": true, \"udp\": true, \"port\": 0, \"operating_state\": 2}, \"DNSClient\": {\"uuid\": \"6680efc0-e005-41e8-bb49-39a0d9c4b118\", \"health_state_actual\": 0, \"health_state_visible\": 0, \"criticality\": 1, \"fixing_count\": 0, \"scanning_count\": 0, \"revealed_to_red\": false, \"installing_count\": 0, \"max_sessions\": 100, \"tcp\": true, \"udp\": true, \"port\": 53, \"operating_state\": 2}, \"FTPClient\": {\"uuid\": \"21b05ac9-e9b4-4c5c-a812-f6748e14d8c3\", \"health_state_actual\": 0, \"health_state_visible\": 0, \"criticality\": 1, \"fixing_count\": 0, \"scanning_count\": 0, \"revealed_to_red\": false, \"installing_count\": 0, \"max_sessions\": 100, \"tcp\": true, \"udp\": true, \"port\": 21, \"operating_state\": 2}, \"NTPClient\": {\"uuid\": \"7ab7c911-5037-4e82-b00c-be4f72c13aa7\", \"health_state_actual\": 0, \"health_state_visible\": 0, \"criticality\": 1, \"fixing_count\": 0, \"scanning_count\": 0, \"revealed_to_red\": false, \"installing_count\": 0, \"max_sessions\": 100, \"tcp\": true, \"udp\": true, \"port\": 123, \"operating_state\": 2}}, \"process\": {}, \"revealed_to_red\": false}, \"google_server\": {\"uuid\": \"42d61d8d-2493-4b8a-944f-7962abc9d20b\", \"hostname\": \"google_server\", \"operating_state\": 2, \"NICs\": {\"1\": {\"uuid\": \"e384a4fc-754f-44a4-9158-c63f72f52f76\", \"mac_address\": \"ea:5d:4f:10:b2:27\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}, \"ip_address\": \"192.168.1.11\", \"subnet_mask\": \"255.255.255.0\", \"wake_on_lan\": false}, \"2\": {\"uuid\": \"8a628493-83fb-44bf-a1b0-ef19e362ae5f\", \"mac_address\": \"44:89:a5:ce:7f:6f\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}, \"ip_address\": \"130.1.1.2\", \"subnet_mask\": \"255.255.255.0\", \"wake_on_lan\": false}}, \"file_system\": {\"uuid\": \"f25cee1f-2ebe-4fd3-8d5c-649b0d342b61\", \"folders\": {\"root\": {\"uuid\": \"cbbd3631-a915-400d-bc02-f31f72447ce5\", \"name\": \"root\", \"health_status\": 1, \"visible_status\": 1, \"previous_hash\": null, \"revealed_to_red\": false, \"files\": {\"favicon.ico\": {\"uuid\": \"3ceeded4-77b9-4a86-949c-73188d5f4c34\", \"name\": \"favicon.ico\", \"health_status\": 1, \"visible_status\": 1, \"previous_hash\": null, \"revealed_to_red\": false, \"size\": 0, \"file_type\": \"UNKNOWN\", \"num_access\": 0}}, \"deleted_files\": {}}, \"static\": {\"uuid\": \"d8241ce0-f55e-43ec-bd68-741b79a9a565\", \"name\": \"static\", \"health_status\": 1, \"visible_status\": 1, \"previous_hash\": null, \"revealed_to_red\": false, \"files\": {}, \"deleted_files\": {}}}, \"deleted_folders\": {}, \"num_file_creations\": 1, \"num_file_deletions\": 0}, \"applications\": {\"WebBrowser\": {\"uuid\": \"957d0049-e703-4882-8e57-b2ab4c79d458\", \"health_state_actual\": 0, \"health_state_visible\": 0, \"criticality\": 1, \"fixing_count\": 0, \"scanning_count\": 0, \"revealed_to_red\": false, \"installing_count\": 0, \"max_sessions\": 100, \"tcp\": true, \"udp\": true, \"port\": 80, \"operating_state\": 2, \"execution_control_status\": \"manual\", \"num_executions\": 0, \"groups\": [], \"history\": []}}, \"services\": {\"ARP\": {\"uuid\": \"82ea1bcf-a0fe-418d-873e-5f075ebb4d3b\", \"health_state_actual\": 0, \"health_state_visible\": 0, \"criticality\": 1, \"fixing_count\": 0, \"scanning_count\": 0, \"revealed_to_red\": false, \"installing_count\": 0, \"max_sessions\": 100, \"tcp\": true, \"udp\": true, \"port\": 219, \"operating_state\": 2}, \"ICMP\": {\"uuid\": \"bc084dc4-0a7d-4954-9e6e-54bed797e837\", \"health_state_actual\": 0, \"health_state_visible\": 0, \"criticality\": 1, \"fixing_count\": 0, \"scanning_count\": 0, \"revealed_to_red\": false, \"installing_count\": 0, \"max_sessions\": 100, \"tcp\": true, \"udp\": true, \"port\": 0, \"operating_state\": 2}, \"DNSClient\": {\"uuid\": \"5a9ecc18-71c0-4728-a9c6-e31b33529581\", \"health_state_actual\": 0, \"health_state_visible\": 0, \"criticality\": 1, \"fixing_count\": 0, \"scanning_count\": 0, \"revealed_to_red\": false, \"installing_count\": 0, \"max_sessions\": 100, \"tcp\": true, \"udp\": true, \"port\": 53, \"operating_state\": 2}, \"FTPClient\": {\"uuid\": \"f0a411eb-5423-4c98-8689-d94af57deefc\", \"health_state_actual\": 0, \"health_state_visible\": 0, \"criticality\": 1, \"fixing_count\": 0, \"scanning_count\": 0, \"revealed_to_red\": false, \"installing_count\": 0, \"max_sessions\": 100, \"tcp\": true, \"udp\": true, \"port\": 21, \"operating_state\": 2}, \"NTPClient\": {\"uuid\": \"d36f2c4f-af30-4618-ae8e-fe68c98e1382\", \"health_state_actual\": 0, \"health_state_visible\": 0, \"criticality\": 1, \"fixing_count\": 0, \"scanning_count\": 0, \"revealed_to_red\": false, \"installing_count\": 0, \"max_sessions\": 100, \"tcp\": true, \"udp\": true, \"port\": 123, \"operating_state\": 2}}, \"process\": {}, \"revealed_to_red\": false}, \"switch1\": {\"uuid\": \"a9e08b28-d1f4-4c34-b410-71333cd6b42b\", \"hostname\": \"switch1\", \"operating_state\": 2, \"NICs\": {\"1\": {\"uuid\": \"3546e960-30f8-49ee-95b9-57570b228333\", \"mac_address\": \"8d:d9:3e:f3:a3:ce\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"2\": {\"uuid\": \"a049bb8f-53d3-4575-b325-dfb55516edcd\", \"mac_address\": \"aa:45:88:e1:13:e5\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"3\": {\"uuid\": \"179c030c-d8fe-474b-a9d1-6c6bd6e6ca63\", \"mac_address\": \"10:d7:bc:39:4d:9d\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"4\": {\"uuid\": \"56f84a14-0a98-4bc5-983b-31900fc9a2c5\", \"mac_address\": \"61:62:18:cf:2a:ea\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"5\": {\"uuid\": \"0ff4b64e-be4c-473e-8dcd-b7a0078ff890\", \"mac_address\": \"21:5e:6b:1b:d0:bf\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"6\": {\"uuid\": \"0edf239b-bbb8-4076-ba85-cb07c65722d5\", \"mac_address\": \"40:58:ac:11:9c:1a\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"7\": {\"uuid\": \"a7f578e5-a6f5-4cf8-abca-207e483637c2\", \"mac_address\": \"e0:ef:90:e2:ce:b4\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"8\": {\"uuid\": \"dc2069dd-ef3c-4e0b-81cb-a73caba917a8\", \"mac_address\": \"2c:2a:27:d6:9a:a8\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"9\": {\"uuid\": \"afbc1a01-efdb-424c-9a7d-b3c3165f6d78\", \"mac_address\": \"e0:f5:79:04:4f:2a\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"10\": {\"uuid\": \"bdd805f4-a3dc-4a94-ba67-3a62b138f41c\", \"mac_address\": \"9a:20:3d:cb:a0:98\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"11\": {\"uuid\": \"19f6f871-cba9-423a-a1a5-6a0e347e98cb\", \"mac_address\": \"69:d9:8c:1d:a9:75\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"12\": {\"uuid\": \"5c2aa6f5-12ce-466b-b46b-95ec519a5f47\", \"mac_address\": \"db:7e:8c:91:1b:3f\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}}, \"file_system\": {\"uuid\": \"91dea1d3-3947-49b9-a691-750bc25bbb9c\", \"folders\": {\"root\": {\"uuid\": \"b7ebbf43-d86f-43d3-bbc7-f6b197af40b9\", \"name\": \"root\", \"health_status\": 1, \"visible_status\": 1, \"previous_hash\": null, \"revealed_to_red\": false, \"files\": {}, \"deleted_files\": {}}}, \"deleted_folders\": {}, \"num_file_creations\": 0, \"num_file_deletions\": 0}, \"applications\": {}, \"services\": {}, \"process\": {}, \"revealed_to_red\": false, \"ports\": {\"1\": {\"uuid\": \"3546e960-30f8-49ee-95b9-57570b228333\", \"mac_address\": \"8d:d9:3e:f3:a3:ce\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"2\": {\"uuid\": \"a049bb8f-53d3-4575-b325-dfb55516edcd\", \"mac_address\": \"aa:45:88:e1:13:e5\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"3\": {\"uuid\": \"179c030c-d8fe-474b-a9d1-6c6bd6e6ca63\", \"mac_address\": \"10:d7:bc:39:4d:9d\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"4\": {\"uuid\": \"56f84a14-0a98-4bc5-983b-31900fc9a2c5\", \"mac_address\": \"61:62:18:cf:2a:ea\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"5\": {\"uuid\": \"0ff4b64e-be4c-473e-8dcd-b7a0078ff890\", \"mac_address\": \"21:5e:6b:1b:d0:bf\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"6\": {\"uuid\": \"0edf239b-bbb8-4076-ba85-cb07c65722d5\", \"mac_address\": \"40:58:ac:11:9c:1a\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"7\": {\"uuid\": \"a7f578e5-a6f5-4cf8-abca-207e483637c2\", \"mac_address\": \"e0:ef:90:e2:ce:b4\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"8\": {\"uuid\": \"dc2069dd-ef3c-4e0b-81cb-a73caba917a8\", \"mac_address\": \"2c:2a:27:d6:9a:a8\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"9\": {\"uuid\": \"afbc1a01-efdb-424c-9a7d-b3c3165f6d78\", \"mac_address\": \"e0:f5:79:04:4f:2a\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"10\": {\"uuid\": \"bdd805f4-a3dc-4a94-ba67-3a62b138f41c\", \"mac_address\": \"9a:20:3d:cb:a0:98\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"11\": {\"uuid\": \"19f6f871-cba9-423a-a1a5-6a0e347e98cb\", \"mac_address\": \"69:d9:8c:1d:a9:75\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}, \"12\": {\"uuid\": \"5c2aa6f5-12ce-466b-b46b-95ec519a5f47\", \"mac_address\": \"db:7e:8c:91:1b:3f\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false, \"nmne\": {}}}, \"num_ports\": 12, \"mac_address_table\": {}}}, \"links\": {\"primaite_pc:eth-2<->switch1:eth-1\": {\"uuid\": \"405f3032-6f5d-427f-b42e-5eee4cdc3a7c\", \"endpoint_a\": \"40c0db02-4d14-4826-b49b-e6a521941cec\", \"endpoint_b\": \"3546e960-30f8-49ee-95b9-57570b228333\", \"bandwidth\": 100.0, \"current_load\": 0.0, \"hostname_a\": \"primaite_pc\", \"hostname_b\": \"switch1\", \"port_a\": 2, \"port_b\": 1}, \"google_server:eth-2<->switch1:eth-2\": {\"uuid\": \"2bd19485-0a6b-4878-978b-b082a672d9b9\", \"endpoint_a\": \"8a628493-83fb-44bf-a1b0-ef19e362ae5f\", \"endpoint_b\": \"a049bb8f-53d3-4575-b325-dfb55516edcd\", \"bandwidth\": 100.0, \"current_load\": 0.0, \"hostname_a\": \"google_server\", \"hostname_b\": \"switch1\", \"port_a\": 2, \"port_b\": 2}}}, \"domain\": {\"uuid\": \"25fbe0e9-76e8-4fd7-ad22-da2d2b5a509d\", \"accounts\": {\"admin\": {\"uuid\": \"78783f13-6149-47b3-9b9d-f98d658bf54a\", \"num_logons\": 0, \"num_logoffs\": 0, \"num_group_changes\": 0, \"username\": \"admin\", \"password\": \"admin12\", \"account_type\": 2, \"enabled\": true}}}}'" ] }, - "execution_count": 134, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } diff --git a/src/primaite/simulator/_package_data/network_simulator_demo.ipynb b/src/primaite/simulator/_package_data/network_simulator_demo.ipynb index 47703c9c..7a095b53 100644 --- a/src/primaite/simulator/_package_data/network_simulator_demo.ipynb +++ b/src/primaite/simulator/_package_data/network_simulator_demo.ipynb @@ -141,16 +141,16 @@ "+------------+----------------------------------------+-------------------+------------------------------------------+-------+-------------------+--------------+\n", "| Endpoint A | A Port | Endpoint B | B Port | is Up | Bandwidth (MBits) | Current Load |\n", "+------------+----------------------------------------+-------------------+------------------------------------------+-------+-------------------+--------------+\n", - "| router_1 | Port 2: eb:31:e8:11:28:ac/192.168.10.1 | switch_2 | Port 8: d3:59:e2:73:4e:b8 | True | 100.0 | 0.00006% |\n", - "| router_1 | Port 1: 3f:c3:3d:00:74:c4/192.168.1.1 | switch_1 | Port 8: a9:ea:54:9f:35:f8 | True | 100.0 | 0.00018% |\n", - "| switch_1 | Port 7: 63:ea:45:e6:f4:22 | security_suite | Port 1: 18:9d:a1:f0:6f:0b/192.168.1.110 | True | 100.0 | 0.00003% |\n", - "| switch_1 | Port 4: 08:0e:a9:03:d7:3c | backup_server | Port 1: c3:e5:81:c9:8b:74/192.168.1.16 | True | 100.0 | 0.00003% |\n", - "| switch_1 | Port 2: 75:c5:30:0f:5d:92 | web_server | Port 1: 90:94:52:a6:1f:c5/192.168.1.12 | True | 100.0 | 0.00015% |\n", - "| switch_1 | Port 3: f1:62:75:5d:d9:59 | database_server | Port 1: 2e:e8:cb:a5:97:12/192.168.1.14 | True | 100.0 | 0.00017% |\n", - "| switch_1 | Port 1: 08:79:a7:3f:b5:96 | domain_controller | Port 1: 00:c3:ff:62:87:8f/192.168.1.10 | True | 100.0 | 0.00003% |\n", - "| switch_2 | Port 7: 88:9c:57:5c:53:5e | security_suite | Port 2: 9e:b2:c8:04:d8:97/192.168.10.110 | True | 100.0 | 0.00000% |\n", - "| switch_2 | Port 2: a8:1b:b2:78:12:34 | client_2 | Port 1: 6a:b1:ff:36:ef:40/192.168.10.22 | True | 100.0 | 0.00003% |\n", - "| switch_2 | Port 1: 42:08:3f:1e:ea:dd | client_1 | Port 1: f6:6d:35:8a:67:d8/192.168.10.21 | True | 100.0 | 0.00003% |\n", + "| router_1 | Port 2: 6e:3e:9f:58:c3:f8/192.168.10.1 | switch_2 | Port 8: 00:a7:49:9f:b7:40 | True | 100.0 | 0.00006% |\n", + "| router_1 | Port 1: 7c:0a:49:bd:2d:5f/192.168.1.1 | switch_1 | Port 8: e6:5e:9e:61:f6:71 | True | 100.0 | 0.00018% |\n", + "| switch_1 | Port 7: 8c:96:32:d5:ef:4b | security_suite | Port 1: 92:17:67:5f:09:f0/192.168.1.110 | True | 100.0 | 0.00003% |\n", + "| switch_1 | Port 4: ef:da:44:ee:68:1d | backup_server | Port 1: 82:23:ff:c5:03:45/192.168.1.16 | True | 100.0 | 0.00003% |\n", + "| switch_1 | Port 2: ab:84:4b:96:bc:b6 | web_server | Port 1: 30:3c:b4:54:b2:ef/192.168.1.12 | True | 100.0 | 0.00015% |\n", + "| switch_1 | Port 3: d8:07:d0:d6:27:52 | database_server | Port 1: 7c:cd:b5:ba:46:33/192.168.1.14 | True | 100.0 | 0.00017% |\n", + "| switch_1 | Port 1: e0:06:93:2c:45:cf | domain_controller | Port 1: 6d:3e:3e:b3:f6:6f/192.168.1.10 | True | 100.0 | 0.00003% |\n", + "| switch_2 | Port 7: 4f:55:6c:c3:ff:e9 | security_suite | Port 2: 64:6f:aa:ba:cb:d0/192.168.10.110 | True | 100.0 | 0.00000% |\n", + "| switch_2 | Port 2: f7:42:43:63:75:c9 | client_2 | Port 1: 21:bb:1b:75:02:fb/192.168.10.22 | True | 100.0 | 0.00003% |\n", + "| switch_2 | Port 1: 45:93:50:03:48:f5 | client_1 | Port 1: ca:f5:26:85:a7:54/192.168.10.21 | True | 100.0 | 0.00003% |\n", "+------------+----------------------------------------+-------------------+------------------------------------------+-------+-------------------+--------------+\n" ] } @@ -206,11 +206,11 @@ "+------+-------------------+-----------------+-------+----------+\n", "| Port | MAC Address | Address | Speed | Status |\n", "+------+-------------------+-----------------+-------+----------+\n", - "| 1 | 3f:c3:3d:00:74:c4 | 192.168.1.1/24 | 100 | Enabled |\n", - "| 2 | eb:31:e8:11:28:ac | 192.168.10.1/24 | 100 | Enabled |\n", - "| 3 | 7b:4f:23:8d:b5:18 | 127.0.0.1/8 | 100 | Disabled |\n", - "| 4 | cd:89:ba:42:ee:04 | 127.0.0.1/8 | 100 | Disabled |\n", - "| 5 | 8d:92:27:76:79:c5 | 127.0.0.1/8 | 100 | Disabled |\n", + "| 1 | 7c:0a:49:bd:2d:5f | 192.168.1.1/24 | 100 | Enabled |\n", + "| 2 | 6e:3e:9f:58:c3:f8 | 192.168.10.1/24 | 100 | Enabled |\n", + "| 3 | 44:c9:4c:25:4c:9b | 127.0.0.1/8 | 100 | Disabled |\n", + "| 4 | 4a:99:e4:a0:87:ba | 127.0.0.1/8 | 100 | Disabled |\n", + "| 5 | ca:5c:3b:6e:52:ef | 127.0.0.1/8 | 100 | Disabled |\n", "+------+-------------------+-----------------+-------+----------+\n" ] } @@ -244,13 +244,13 @@ "+---------------+-------------------+-------------------+\n", "| IP Address | MAC Address | Via |\n", "+---------------+-------------------+-------------------+\n", - "| 192.168.10.21 | f6:6d:35:8a:67:d8 | eb:31:e8:11:28:ac |\n", - "| 192.168.10.22 | 6a:b1:ff:36:ef:40 | eb:31:e8:11:28:ac |\n", - "| 192.168.1.10 | 00:c3:ff:62:87:8f | 3f:c3:3d:00:74:c4 |\n", - "| 192.168.1.14 | 2e:e8:cb:a5:97:12 | 3f:c3:3d:00:74:c4 |\n", - "| 192.168.1.12 | 90:94:52:a6:1f:c5 | 3f:c3:3d:00:74:c4 |\n", - "| 192.168.1.16 | c3:e5:81:c9:8b:74 | 3f:c3:3d:00:74:c4 |\n", - "| 192.168.1.110 | 18:9d:a1:f0:6f:0b | 3f:c3:3d:00:74:c4 |\n", + "| 192.168.10.21 | ca:f5:26:85:a7:54 | 6e:3e:9f:58:c3:f8 |\n", + "| 192.168.10.22 | 21:bb:1b:75:02:fb | 6e:3e:9f:58:c3:f8 |\n", + "| 192.168.1.10 | 6d:3e:3e:b3:f6:6f | 7c:0a:49:bd:2d:5f |\n", + "| 192.168.1.14 | 7c:cd:b5:ba:46:33 | 7c:0a:49:bd:2d:5f |\n", + "| 192.168.1.12 | 30:3c:b4:54:b2:ef | 7c:0a:49:bd:2d:5f |\n", + "| 192.168.1.16 | 82:23:ff:c5:03:45 | 7c:0a:49:bd:2d:5f |\n", + "| 192.168.1.110 | 92:17:67:5f:09:f0 | 7c:0a:49:bd:2d:5f |\n", "+---------------+-------------------+-------------------+\n" ] } @@ -385,7 +385,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 9, "id": "e7fd439b-5442-4e9d-9e7d-86dacb77f458", "metadata": { "tags": [] @@ -400,28 +400,14 @@ "+------+-------------------+-------+----------+\n", "| Port | MAC Address | Speed | Status |\n", "+------+-------------------+-------+----------+\n", - "| 1 | 08:79:a7:3f:b5:96 | 100 | Enabled |\n", - "| 2 | 75:c5:30:0f:5d:92 | 100 | Enabled |\n", - "| 3 | f1:62:75:5d:d9:59 | 100 | Enabled |\n", - "| 4 | 08:0e:a9:03:d7:3c | 100 | Enabled |\n", - "| 5 | ae:40:29:58:c7:95 | 100 | Disabled |\n", - "| 6 | 7d:54:38:7f:79:e8 | 100 | Disabled |\n", - "| 7 | 63:ea:45:e6:f4:22 | 100 | Enabled |\n", - "| 8 | a9:ea:54:9f:35:f8 | 100 | Enabled |\n", - "+------+-------------------+-------+----------+\n", - "+---------------------------------------------+\n", - "| switch_2 Switch Ports |\n", - "+------+-------------------+-------+----------+\n", - "| Port | MAC Address | Speed | Status |\n", - "+------+-------------------+-------+----------+\n", - "| 1 | 42:08:3f:1e:ea:dd | 100 | Enabled |\n", - "| 2 | a8:1b:b2:78:12:34 | 100 | Enabled |\n", - "| 3 | 43:e4:54:fe:e7:1f | 100 | Disabled |\n", - "| 4 | 24:bf:74:7c:c4:11 | 100 | Disabled |\n", - "| 5 | 4b:57:f7:46:c9:4f | 100 | Disabled |\n", - "| 6 | 10:03:9d:39:0c:81 | 100 | Disabled |\n", - "| 7 | 88:9c:57:5c:53:5e | 100 | Enabled |\n", - "| 8 | d3:59:e2:73:4e:b8 | 100 | Enabled |\n", + "| 1 | e0:06:93:2c:45:cf | 100 | Enabled |\n", + "| 2 | ab:84:4b:96:bc:b6 | 100 | Enabled |\n", + "| 3 | d8:07:d0:d6:27:52 | 100 | Enabled |\n", + "| 4 | ef:da:44:ee:68:1d | 100 | Enabled |\n", + "| 5 | b6:76:3d:1d:7e:be | 100 | Disabled |\n", + "| 6 | 02:ce:fa:da:9a:a4 | 100 | Disabled |\n", + "| 7 | 8c:96:32:d5:ef:4b | 100 | Enabled |\n", + "| 8 | e6:5e:9e:61:f6:71 | 100 | Enabled |\n", "+------+-------------------+-------+----------+\n" ] } @@ -430,42 +416,6 @@ "network.get_node_by_hostname(\"switch_1\").show()" ] }, - { - "cell_type": "markdown", - "id": "beb8dbd6-7250-4ac9-9fa2-d2a9c0e5fd19", - "metadata": { - "tags": [] - }, - "source": [ - "Calling `switch.arp.show()` displays the Switch ARP Cache." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "d06e1310-4a77-4315-a59f-cb1b49ca2352", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "+--------------------------------+\n", - "| switch_1 ARP Cache |\n", - "+------------+-------------+-----+\n", - "| IP Address | MAC Address | Via |\n", - "+------------+-------------+-----+\n", - "+------------+-------------+-----+\n" - ] - } - ], - "source": [ - "network.get_node_by_hostname(\"switch_1\").arp.show()\n", - "#network.get_node_by_hostname(\"switch_1\").software_manager" - ] - }, { "cell_type": "markdown", "id": "fda75ac3-8123-4234-8f36-86547891d8df", @@ -476,7 +426,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "id": "a0d984b7-a7c1-4bbd-aa5a-9d3caecb08dc", "metadata": { "tags": [] @@ -521,7 +471,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "id": "656c37f6-b145-42af-9714-8d2886d0eff8", "metadata": { "tags": [] @@ -536,8 +486,8 @@ "+------+------+-------------------+-------------------+-------+---------+\n", "| Port | Type | MAC Address | Address | Speed | Status |\n", "+------+------+-------------------+-------------------+-------+---------+\n", - "| 1 | NIC | 18:9d:a1:f0:6f:0b | 192.168.1.110/24 | 100 | Enabled |\n", - "| 2 | NIC | 9e:b2:c8:04:d8:97 | 192.168.10.110/24 | 100 | Enabled |\n", + "| 1 | NIC | 92:17:67:5f:09:f0 | 192.168.1.110/24 | 100 | Enabled |\n", + "| 2 | NIC | 64:6f:aa:ba:cb:d0 | 192.168.10.110/24 | 100 | Enabled |\n", "+------+------+-------------------+-------------------+-------+---------+\n", "+---------------------------+\n", "| security_suite Open Ports |\n", @@ -567,7 +517,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 12, "id": "66b267d6-2308-486a-b9aa-cb8d3bcf0753", "metadata": { "tags": [] @@ -582,7 +532,7 @@ "+-------------+-------------------+-------------------+\n", "| IP Address | MAC Address | Via |\n", "+-------------+-------------------+-------------------+\n", - "| 192.168.1.1 | 3f:c3:3d:00:74:c4 | 18:9d:a1:f0:6f:0b |\n", + "| 192.168.1.1 | 7c:0a:49:bd:2d:5f | 92:17:67:5f:09:f0 |\n", "+-------------+-------------------+-------------------+\n" ] } @@ -601,7 +551,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 13, "id": "1b5debe8-ef1b-445d-8fa9-6a45568f21f3", "metadata": { "tags": [] @@ -636,7 +586,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 14, "id": "495b7de4-b6ce-41a6-9114-f74752ab4491", "metadata": { "tags": [] @@ -682,7 +632,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 15, "id": "a38abb71-994e-49e8-8f51-e9a550e95b99", "metadata": { "tags": [] @@ -706,7 +656,7 @@ "True" ] }, - "execution_count": 16, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -717,7 +667,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 16, "id": "8388e1e9-30e3-4534-8e5a-c6e9144149d2", "metadata": { "tags": [] @@ -750,7 +700,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 17, "id": "ff8e976a-c16b-470c-8923-325713a30d6c", "metadata": { "tags": [] @@ -774,7 +724,7 @@ "True" ] }, - "execution_count": 18, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -793,7 +743,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 18, "id": "c4163f8d-6a72-410c-9f5c-4f881b7de45e", "metadata": { "tags": [] @@ -817,7 +767,7 @@ "True" ] }, - "execution_count": 19, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -836,7 +786,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 19, "id": "e79a523a-5780-45b6-8798-c434e0e522bd", "metadata": { "tags": [] @@ -879,7 +829,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 20, "id": "603cf913-e261-49da-a7dd-85e1bb6dec56", "metadata": { "tags": [] @@ -903,7 +853,7 @@ "True" ] }, - "execution_count": 21, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -922,7 +872,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 21, "id": "e047de00-3de4-4823-b26a-2c8d64c7a663", "metadata": { "tags": [] @@ -955,7 +905,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 22, "id": "6db355ae-b99a-441b-a2c4-4ffe78f46bff", "metadata": { "tags": [] @@ -967,7 +917,7 @@ "True" ] }, - "execution_count": 23, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -986,7 +936,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 23, "id": "a345e000-8842-4827-af96-adc0fbe390fb", "metadata": { "tags": [] @@ -1026,7 +976,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 24, "id": "a4f4ff31-590f-40fb-b13d-efaa8c2720b6", "metadata": { "tags": [] @@ -1046,7 +996,7 @@ "False" ] }, - "execution_count": 25, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -1065,7 +1015,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 25, "id": "f62b8a4e-fd3b-4059-b108-3d4a0b18f2a0", "metadata": { "tags": [] @@ -1098,7 +1048,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 26, "id": "7e53d776-99da-4d2c-a2a7-bd7ce27bff4c", "metadata": { "tags": [] @@ -1131,7 +1081,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 27, "id": "d542734b-7582-4af7-8254-bda3de50d091", "metadata": { "tags": [] @@ -1155,7 +1105,7 @@ "True" ] }, - "execution_count": 28, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -1166,7 +1116,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 28, "id": "d78e9fe3-02c6-4792-944f-5622e26e0412", "metadata": { "tags": [] diff --git a/src/primaite/simulator/network/hardware/nodes/host/host_node.py b/src/primaite/simulator/network/hardware/nodes/host/host_node.py index 9d08b9f4..e354d96a 100644 --- a/src/primaite/simulator/network/hardware/nodes/host/host_node.py +++ b/src/primaite/simulator/network/hardware/nodes/host/host_node.py @@ -318,6 +318,12 @@ class HostNode(Node): @property def arp(self) -> Optional[ARP]: + """ + Return the ARP Cache of the HostNode + + :return: ARP Cache for given HostNode + :rtype: Optional[ARP] + """ return self.software_manager.software.get("ARP") def _install_system_software(self): diff --git a/src/primaite/simulator/network/hardware/nodes/network/network_node.py b/src/primaite/simulator/network/hardware/nodes/network/network_node.py index a3dc3be3..d9304f4d 100644 --- a/src/primaite/simulator/network/hardware/nodes/network/network_node.py +++ b/src/primaite/simulator/network/hardware/nodes/network/network_node.py @@ -32,4 +32,10 @@ class NetworkNode(Node): @property def arp(self) -> Optional[ARP]: + """ + Return the ARP Cache of the NetworkNode + + :return: ARP Cache for given NetworkNode + :rtype: Optional[ARP] + """ return self.software_manager.software.get("ARP")