/Batfish-Network-Visualizer

An Open Source python tool which helps the user / learners to visualize the configurations provided to Batfish by generating a network diagram.

Primary LanguagePythonCreative Commons Zero v1.0 UniversalCC0-1.0


Batfish-Network-Visualizer

Overview

An Open Source python tool which helps the user / learners to understand the configurations provided to Batfish by generating a network diagram. This tool uses Pybatfish and N2G modules for visualization of the network from configuration files.

Prerequisites

1.Install Python3
2.Install Batfish

Ignore if you have already installed.

Tool Execution


Step1: Make sure the Batfish docker is up and running.
Step2: Intall the requirments.txt file using pip i.e. pip install -r requirements.txt
Step3: Prepare a directory structure as shown in the image located at Images --> directory_structure.jpg and make sure the configuration files end with "cfg" as an extension.
Step4: Run the tool --> python3 batfish_network_visualizer_v1.py
# Caution if theres an errors such as module missing while execution then please install that module using pip --> pip install {module_name}
Step5: After few seconds the tool will generate the output in the "results" directory which is present along with snapshot directory.
Step6: Import the file "network_map.drawio" to https://app.diagrams.net for visualization.

Conclusion

I hope this tool helps many people to understand more about Batfish. Visualization always helps to learn faster and effectively. Special Thanks to Anton Karneliuk for an awesome tutorial on Batfish which helped to get me started.