30 lines
1.1 KiB
Python
30 lines
1.1 KiB
Python
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()
|