有问题、反馈或功能请求?加入我们在 Slack! 上的社区!
Pybatfish 是 Batfish 的 Python 客户端。
Batfish 是一个网络验证工具,通过分析网络设备的配置,为安全性、可靠性和合规性提供正确性保证。它从设备配置构建完整的网络行为模型,并发现网络策略(内置、用户定义和最佳实践)的违规行为。
Batfish 的一个主要用途是在部署之前验证配置变更(尽管它也可以用于验证已部署的配置)。部署前验证是现有网络自动化工作流中的一个关键缺口。通过在自动化工作流中集成 Batfish,网络工程师可以弥补这一缺口,确保只部署正确的变更。
Batfish 不需要直接访问网络设备。 核心分析仅需要网络设备的配置。此分析可通过使用来自网络的其他信息得到增强,例如:
请参阅 www.batfish.org 了解其工作原理的技术信息。
Batfish YouTube 频道(您可以订阅以获取新内容)展示了多种类型的检查。这些检查覆盖了一系列网络行为和设备配置属性。
如果尚未安装 Batfish,请按照 batfish 代码仓库 中的说明进行安装。
我们强烈建议您在 Python 3 虚拟环境中安装 Pybatfish。有关如何设置虚拟环境的详细信息,请参见此处。设置并激活虚拟环境后,升级 pip 并安装 pybatfish。
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade pybatfish
现在,您已准备好使用 Batfish 评估自己的网络。我们鼓励您从 Jupyter 笔记本开始,但您也可以使用其他您熟悉的方法,例如 PyCharm 等 IDE 或交互式 Python Shell。如果选择从 Jupyter 笔记本开始,则需要在虚拟环境中安装 Jupyter。Jupyter 文档可在此处找到——但下面的命令将帮助您启动。
python3 -m pip install jupyter
jupyter notebook
我们的笔记本为不同的用例提供了快速入门指南。此外,完整文档可在 readthedocs 上找到。
pybatfish API 的完整文档位于此处。