import matplotlib.pyplot as plt import networkx as nx # Create the graph G1 = nx.DiGraph() # Add nodes with positions G1.add_node("IoT Device", pos=(1, 3)) G1.add_node("AP", pos=(3, 3)) G1.add_node("Switch (Port Mirroring Enabled)", pos=(5, 3)) G1.add_node("Gateway Router", pos=(7, 3)) G1.add_node("Internet", pos=(9, 3)) G1.add_node("Capture Device", pos=(5, 1)) # Add edges G1.add_edge("IoT Device", "AP") G1.add_edge("AP", "Switch (Port Mirroring Enabled)") G1.add_edge("Switch (Port Mirroring Enabled)", "Gateway Router") G1.add_edge("Gateway Router", "Internet") G1.add_edge("Switch (Port Mirroring Enabled)", "Capture Device") # Draw the graph pos = nx.get_node_attributes(G1, 'pos') plt.figure(figsize=(12, 8)) nx.draw(G1, pos, with_labels=True, node_size=3000, node_color='lightblue', font_size=10, font_weight='bold') nx.draw_networkx_edge_labels(G1, pos, edge_labels={("Switch (Port Mirroring Enabled)", "Capture Device"): "Mirrored Traffic"}, font_color='red') plt.title("IoT Device Connected via AP to Gateway Router via Switch with Port Mirroring Enabled") plt.show()