diff --git a/src/primaite/notebooks/create-simulation.ipynb b/src/primaite/notebooks/create-simulation.ipynb index 11d41356..e3e7dfb7 100644 --- a/src/primaite/notebooks/create-simulation.ipynb +++ b/src/primaite/notebooks/create-simulation.ipynb @@ -18,7 +18,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -36,9 +36,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "{'uuid': '95929b6a-1ce4-4c94-966c-6d3246d7caf9',\n", + " 'network': {'uuid': '4b41398e-d768-47c5-80cf-4278cfc35a24',\n", + " 'nodes': {},\n", + " 'links': {}},\n", + " 'domain': {'uuid': '15920e15-6cd1-4a93-b6af-acbcc6f6468e', 'accounts': {}}}" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "my_sim = Simulation()\n", "net = my_sim.network\n", @@ -54,7 +69,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -63,7 +78,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -82,7 +97,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -91,9 +106,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-08-23 15:44:02,059: NIC 1b:8f:94:4f:46:99/130.1.1.1 connected to Link 1b:8f:94:4f:46:99/130.1.1.1<-->ad:3c:77:44:98:27\n", + "2023-08-23 15:44:02,062: SwitchPort ad:3c:77:44:98:27 connected to Link 1b:8f:94:4f:46:99/130.1.1.1<-->ad:3c:77:44:98:27\n", + "2023-08-23 15:44:02,064: NIC 50:f4:6b:9b:a8:74/130.1.1.2 connected to Link 50:f4:6b:9b:a8:74/130.1.1.2<-->fd:b1:68:f9:8f:eb\n", + "2023-08-23 15:44:02,065: SwitchPort fd:b1:68:f9:8f:eb connected to Link 50:f4:6b:9b:a8:74/130.1.1.2<-->fd:b1:68:f9:8f:eb\n" + ] + } + ], "source": [ "my_swtich = Switch(hostname=\"switch1\", num_ports=12)\n", "net.add_node(my_swtich)\n", @@ -122,7 +148,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -132,7 +158,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -142,9 +168,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "FileSystemFile(uuid='f45bffd7-4aa1-4f6f-81ba-85e746abd28b', name='favicon.ico', size=40.0, file_type=, action_manager=None)" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "my_server_folder = my_server.file_system.create_folder(\"static\")\n", "my_server.file_system.create_file(\"favicon.ico\", file_type=FileSystemFileType.PNG)" @@ -159,7 +196,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -175,7 +212,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -184,7 +221,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -200,7 +237,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "metadata": {}, "outputs": [], "source": [ @@ -209,7 +246,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -226,18 +263,193 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "{'uuid': '95929b6a-1ce4-4c94-966c-6d3246d7caf9',\n", + " 'network': {'uuid': '4b41398e-d768-47c5-80cf-4278cfc35a24',\n", + " 'nodes': {'1599c08e-a101-41a7-a86a-4176660c4270': {'uuid': '1599c08e-a101-41a7-a86a-4176660c4270',\n", + " 'hostname': 'primaite_pc',\n", + " 'operating_state': 0,\n", + " 'NICs': {'ab09d298-ac44-40ef-b950-b4ca6268d482': {'uuid': 'ab09d298-ac44-40ef-b950-b4ca6268d482',\n", + " 'ip_adress': '130.1.1.1',\n", + " 'subnet_mask': '255.255.255.0',\n", + " 'gateway': '130.1.1.255',\n", + " 'mac_address': '1b:8f:94:4f:46:99',\n", + " 'speed': 100,\n", + " 'mtu': 1500,\n", + " 'wake_on_lan': False,\n", + " 'dns_servers': [],\n", + " 'enabled': False}},\n", + " 'file_system': {'uuid': '92120387-14cb-426c-98f2-64d64a85f560',\n", + " 'folders': {'6a11bd03-bc59-4da9-8474-639fcb72b9be': {'uuid': '6a11bd03-bc59-4da9-8474-639fcb72b9be',\n", + " 'name': 'downloads',\n", + " 'size': 1000.0,\n", + " 'files': {'194b2029-4723-4cff-b6d7-e647e4fb687d': {'uuid': '194b2029-4723-4cff-b6d7-e647e4fb687d',\n", + " 'name': 'firefox_installer.zip',\n", + " 'size': 1000.0,\n", + " 'file_type': 'ZIP'}},\n", + " 'is_quarantined': False}}},\n", + " 'applications': {'ae49273b-f581-44e7-ae8c-18cc766158e8': {'uuid': 'ae49273b-f581-44e7-ae8c-18cc766158e8',\n", + " 'health_state': 'GOOD',\n", + " 'health_state_red_view': 'GOOD',\n", + " 'criticality': 'MEDIUM',\n", + " 'patching_count': 0,\n", + " 'scanning_count': 0,\n", + " 'revealed_to_red': False,\n", + " 'installing_count': 0,\n", + " 'max_sessions': 1,\n", + " 'tcp': True,\n", + " 'udp': True,\n", + " 'ports': ['HTTP'],\n", + " 'opearting_state': 'RUNNING',\n", + " 'execution_control_status': 'manual',\n", + " 'num_executions': 0,\n", + " 'groups': []}},\n", + " 'services': {},\n", + " 'process': {}},\n", + " '7231c745-e186-47a2-8f69-006033b38b8f': {'uuid': '7231c745-e186-47a2-8f69-006033b38b8f',\n", + " 'hostname': 'google_server',\n", + " 'operating_state': 0,\n", + " 'NICs': {'d138788b-2a8e-4c5c-aa5d-b5c28758a78a': {'uuid': 'd138788b-2a8e-4c5c-aa5d-b5c28758a78a',\n", + " 'ip_adress': '130.1.1.2',\n", + " 'subnet_mask': '255.255.255.0',\n", + " 'gateway': '130.1.1.255',\n", + " 'mac_address': '50:f4:6b:9b:a8:74',\n", + " 'speed': 100,\n", + " 'mtu': 1500,\n", + " 'wake_on_lan': False,\n", + " 'dns_servers': [],\n", + " 'enabled': False}},\n", + " 'file_system': {'uuid': '85f1d50c-ded7-4160-9a11-1305ab25934b',\n", + " 'folders': {'86c2666e-31da-46a9-a267-4dc87e2620f9': {'uuid': '86c2666e-31da-46a9-a267-4dc87e2620f9',\n", + " 'name': 'static',\n", + " 'size': 0,\n", + " 'files': {},\n", + " 'is_quarantined': False},\n", + " '1a4479df-6f52-428c-b7b9-c026ab24d2a3': {'uuid': '1a4479df-6f52-428c-b7b9-c026ab24d2a3',\n", + " 'name': 'root',\n", + " 'size': 40.0,\n", + " 'files': {'f45bffd7-4aa1-4f6f-81ba-85e746abd28b': {'uuid': 'f45bffd7-4aa1-4f6f-81ba-85e746abd28b',\n", + " 'name': 'favicon.ico',\n", + " 'size': 40.0,\n", + " 'file_type': 'PNG'}},\n", + " 'is_quarantined': False}}},\n", + " 'applications': {},\n", + " 'services': {},\n", + " 'process': {}},\n", + " '384bab1c-aa23-49cf-9c4e-caababcf30a0': {'uuid': '384bab1c-aa23-49cf-9c4e-caababcf30a0',\n", + " 'num_ports': 12,\n", + " 'ports': {1: {'uuid': 'e64847dd-6f19-4f5e-b473-4f9098ca4b9c',\n", + " 'mac_address': 'ad:3c:77:44:98:27',\n", + " 'speed': 100,\n", + " 'mtu': 1500,\n", + " 'enabled': False},\n", + " 2: {'uuid': 'd65f815d-dc28-4313-a4f0-b918bb026e7c',\n", + " 'mac_address': 'fd:b1:68:f9:8f:eb',\n", + " 'speed': 100,\n", + " 'mtu': 1500,\n", + " 'enabled': False},\n", + " 3: {'uuid': '8e1d8783-80af-4aad-bc1e-0c5f1d28b9a1',\n", + " 'mac_address': 'bb:ba:58:26:52:2d',\n", + " 'speed': 100,\n", + " 'mtu': 1500,\n", + " 'enabled': False},\n", + " 4: {'uuid': '3cde63c0-38e4-4faa-88ba-3a958118e2b3',\n", + " 'mac_address': '69:bc:6f:e1:30:32',\n", + " 'speed': 100,\n", + " 'mtu': 1500,\n", + " 'enabled': False},\n", + " 5: {'uuid': '37e49743-1723-4b0e-a1e5-61d76e230c08',\n", + " 'mac_address': 'd3:a0:8b:92:25:11',\n", + " 'speed': 100,\n", + " 'mtu': 1500,\n", + " 'enabled': False},\n", + " 6: {'uuid': '3bf0c0c4-27f6-4a90-8279-1f713b46f4bf',\n", + " 'mac_address': '48:88:7c:71:0a:c0',\n", + " 'speed': 100,\n", + " 'mtu': 1500,\n", + " 'enabled': False},\n", + " 7: {'uuid': '40b0ba34-9e70-448a-8fdf-836a5a71ed8f',\n", + " 'mac_address': '24:81:03:09:c0:be',\n", + " 'speed': 100,\n", + " 'mtu': 1500,\n", + " 'enabled': False},\n", + " 8: {'uuid': 'cd23d94b-84b8-441c-bd95-4e310682a095',\n", + " 'mac_address': '27:18:c5:47:fd:82',\n", + " 'speed': 100,\n", + " 'mtu': 1500,\n", + " 'enabled': False},\n", + " 9: {'uuid': '608eb5bd-7875-4b64-a6f8-794e6283a305',\n", + " 'mac_address': '03:dd:34:d2:56:1c',\n", + " 'speed': 100,\n", + " 'mtu': 1500,\n", + " 'enabled': False},\n", + " 10: {'uuid': '4acb48c6-74be-40d3-b706-64c06c55720b',\n", + " 'mac_address': 'a3:55:83:af:b7:6b',\n", + " 'speed': 100,\n", + " 'mtu': 1500,\n", + " 'enabled': False},\n", + " 11: {'uuid': '73e989b5-3c2c-4035-8191-47220ea5ca43',\n", + " 'mac_address': '4f:60:84:21:50:6d',\n", + " 'speed': 100,\n", + " 'mtu': 1500,\n", + " 'enabled': False},\n", + " 12: {'uuid': '961ff733-a07c-433b-9433-8418a3761120',\n", + " 'mac_address': '7a:26:02:14:8d:da',\n", + " 'speed': 100,\n", + " 'mtu': 1500,\n", + " 'enabled': False}},\n", + " 'mac_address_table': {}}},\n", + " 'links': {'67df55f4-c485-4eed-a4dc-fe6f96f6b2f3': {'uuid': '67df55f4-c485-4eed-a4dc-fe6f96f6b2f3',\n", + " 'endpoint_a': 'ab09d298-ac44-40ef-b950-b4ca6268d482',\n", + " 'endpoint_b': 'e64847dd-6f19-4f5e-b473-4f9098ca4b9c',\n", + " 'bandwidth': 100.0,\n", + " 'current_load': 0.0},\n", + " '4fdb61da-7cc9-43ea-9ee6-7d9853deff72': {'uuid': '4fdb61da-7cc9-43ea-9ee6-7d9853deff72',\n", + " 'endpoint_a': 'd138788b-2a8e-4c5c-aa5d-b5c28758a78a',\n", + " 'endpoint_b': 'd65f815d-dc28-4313-a4f0-b918bb026e7c',\n", + " 'bandwidth': 100.0,\n", + " 'current_load': 0.0}}},\n", + " 'domain': {'uuid': '15920e15-6cd1-4a93-b6af-acbcc6f6468e',\n", + " 'accounts': {'d7f5bd32-5071-4bec-a111-a9f4e1aca45a': {'uuid': 'd7f5bd32-5071-4bec-a111-a9f4e1aca45a',\n", + " 'num_logons': 0,\n", + " 'num_logoffs': 0,\n", + " 'num_group_changes': 0,\n", + " 'username': 'admin',\n", + " 'password': 'admin12',\n", + " 'account_type': 'USER',\n", + " 'enabled': True}}}}" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "my_sim.describe_state()" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "'{\"uuid\": \"95929b6a-1ce4-4c94-966c-6d3246d7caf9\", \"network\": {\"uuid\": \"4b41398e-d768-47c5-80cf-4278cfc35a24\", \"nodes\": {\"1599c08e-a101-41a7-a86a-4176660c4270\": {\"uuid\": \"1599c08e-a101-41a7-a86a-4176660c4270\", \"hostname\": \"primaite_pc\", \"operating_state\": 0, \"NICs\": {\"ab09d298-ac44-40ef-b950-b4ca6268d482\": {\"uuid\": \"ab09d298-ac44-40ef-b950-b4ca6268d482\", \"ip_adress\": \"130.1.1.1\", \"subnet_mask\": \"255.255.255.0\", \"gateway\": \"130.1.1.255\", \"mac_address\": \"1b:8f:94:4f:46:99\", \"speed\": 100, \"mtu\": 1500, \"wake_on_lan\": false, \"dns_servers\": [], \"enabled\": false}}, \"file_system\": {\"uuid\": \"92120387-14cb-426c-98f2-64d64a85f560\", \"folders\": {\"6a11bd03-bc59-4da9-8474-639fcb72b9be\": {\"uuid\": \"6a11bd03-bc59-4da9-8474-639fcb72b9be\", \"name\": \"downloads\", \"size\": 1000.0, \"files\": {\"194b2029-4723-4cff-b6d7-e647e4fb687d\": {\"uuid\": \"194b2029-4723-4cff-b6d7-e647e4fb687d\", \"name\": \"firefox_installer.zip\", \"size\": 1000.0, \"file_type\": \"ZIP\"}}, \"is_quarantined\": false}}}, \"applications\": {\"ae49273b-f581-44e7-ae8c-18cc766158e8\": {\"uuid\": \"ae49273b-f581-44e7-ae8c-18cc766158e8\", \"health_state\": \"GOOD\", \"health_state_red_view\": \"GOOD\", \"criticality\": \"MEDIUM\", \"patching_count\": 0, \"scanning_count\": 0, \"revealed_to_red\": false, \"installing_count\": 0, \"max_sessions\": 1, \"tcp\": true, \"udp\": true, \"ports\": [\"HTTP\"], \"opearting_state\": \"RUNNING\", \"execution_control_status\": \"manual\", \"num_executions\": 0, \"groups\": []}}, \"services\": {}, \"process\": {}}, \"7231c745-e186-47a2-8f69-006033b38b8f\": {\"uuid\": \"7231c745-e186-47a2-8f69-006033b38b8f\", \"hostname\": \"google_server\", \"operating_state\": 0, \"NICs\": {\"d138788b-2a8e-4c5c-aa5d-b5c28758a78a\": {\"uuid\": \"d138788b-2a8e-4c5c-aa5d-b5c28758a78a\", \"ip_adress\": \"130.1.1.2\", \"subnet_mask\": \"255.255.255.0\", \"gateway\": \"130.1.1.255\", \"mac_address\": \"50:f4:6b:9b:a8:74\", \"speed\": 100, \"mtu\": 1500, \"wake_on_lan\": false, \"dns_servers\": [], \"enabled\": false}}, \"file_system\": {\"uuid\": \"85f1d50c-ded7-4160-9a11-1305ab25934b\", \"folders\": {\"86c2666e-31da-46a9-a267-4dc87e2620f9\": {\"uuid\": \"86c2666e-31da-46a9-a267-4dc87e2620f9\", \"name\": \"static\", \"size\": 0, \"files\": {}, \"is_quarantined\": false}, \"1a4479df-6f52-428c-b7b9-c026ab24d2a3\": {\"uuid\": \"1a4479df-6f52-428c-b7b9-c026ab24d2a3\", \"name\": \"root\", \"size\": 40.0, \"files\": {\"f45bffd7-4aa1-4f6f-81ba-85e746abd28b\": {\"uuid\": \"f45bffd7-4aa1-4f6f-81ba-85e746abd28b\", \"name\": \"favicon.ico\", \"size\": 40.0, \"file_type\": \"PNG\"}}, \"is_quarantined\": false}}}, \"applications\": {}, \"services\": {}, \"process\": {}}, \"384bab1c-aa23-49cf-9c4e-caababcf30a0\": {\"uuid\": \"384bab1c-aa23-49cf-9c4e-caababcf30a0\", \"num_ports\": 12, \"ports\": {\"1\": {\"uuid\": \"e64847dd-6f19-4f5e-b473-4f9098ca4b9c\", \"mac_address\": \"ad:3c:77:44:98:27\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false}, \"2\": {\"uuid\": \"d65f815d-dc28-4313-a4f0-b918bb026e7c\", \"mac_address\": \"fd:b1:68:f9:8f:eb\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false}, \"3\": {\"uuid\": \"8e1d8783-80af-4aad-bc1e-0c5f1d28b9a1\", \"mac_address\": \"bb:ba:58:26:52:2d\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false}, \"4\": {\"uuid\": \"3cde63c0-38e4-4faa-88ba-3a958118e2b3\", \"mac_address\": \"69:bc:6f:e1:30:32\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false}, \"5\": {\"uuid\": \"37e49743-1723-4b0e-a1e5-61d76e230c08\", \"mac_address\": \"d3:a0:8b:92:25:11\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false}, \"6\": {\"uuid\": \"3bf0c0c4-27f6-4a90-8279-1f713b46f4bf\", \"mac_address\": \"48:88:7c:71:0a:c0\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false}, \"7\": {\"uuid\": \"40b0ba34-9e70-448a-8fdf-836a5a71ed8f\", \"mac_address\": \"24:81:03:09:c0:be\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false}, \"8\": {\"uuid\": \"cd23d94b-84b8-441c-bd95-4e310682a095\", \"mac_address\": \"27:18:c5:47:fd:82\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false}, \"9\": {\"uuid\": \"608eb5bd-7875-4b64-a6f8-794e6283a305\", \"mac_address\": \"03:dd:34:d2:56:1c\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false}, \"10\": {\"uuid\": \"4acb48c6-74be-40d3-b706-64c06c55720b\", \"mac_address\": \"a3:55:83:af:b7:6b\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false}, \"11\": {\"uuid\": \"73e989b5-3c2c-4035-8191-47220ea5ca43\", \"mac_address\": \"4f:60:84:21:50:6d\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false}, \"12\": {\"uuid\": \"961ff733-a07c-433b-9433-8418a3761120\", \"mac_address\": \"7a:26:02:14:8d:da\", \"speed\": 100, \"mtu\": 1500, \"enabled\": false}}, \"mac_address_table\": {}}}, \"links\": {\"67df55f4-c485-4eed-a4dc-fe6f96f6b2f3\": {\"uuid\": \"67df55f4-c485-4eed-a4dc-fe6f96f6b2f3\", \"endpoint_a\": \"ab09d298-ac44-40ef-b950-b4ca6268d482\", \"endpoint_b\": \"e64847dd-6f19-4f5e-b473-4f9098ca4b9c\", \"bandwidth\": 100.0, \"current_load\": 0.0}, \"4fdb61da-7cc9-43ea-9ee6-7d9853deff72\": {\"uuid\": \"4fdb61da-7cc9-43ea-9ee6-7d9853deff72\", \"endpoint_a\": \"d138788b-2a8e-4c5c-aa5d-b5c28758a78a\", \"endpoint_b\": \"d65f815d-dc28-4313-a4f0-b918bb026e7c\", \"bandwidth\": 100.0, \"current_load\": 0.0}}}, \"domain\": {\"uuid\": \"15920e15-6cd1-4a93-b6af-acbcc6f6468e\", \"accounts\": {\"d7f5bd32-5071-4bec-a111-a9f4e1aca45a\": {\"uuid\": \"d7f5bd32-5071-4bec-a111-a9f4e1aca45a\", \"num_logons\": 0, \"num_logoffs\": 0, \"num_group_changes\": 0, \"username\": \"admin\", \"password\": \"admin12\", \"account_type\": \"USER\", \"enabled\": true}}}}'" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "import json\n", "json.dumps(my_sim.describe_state())"