Netgraphp 是一个 php 脚本,它使用 LLDP 信息遍历网络中的 SNMP 服务器,并生成网络中不同主机和连接的图形映射

Netgraphp 是一个 php 脚本,它使用 LLDP 信息遍历网络中的 SNMP 服务器,并生成网络中不同主机和连接的图形映射。该图是使用 graphviz 点语法生成的,graphviz 可用于生成不同的文件格式,如 .png 或 .eps。要识别的所有连接都必须在两端都支持 LLDP,并且至少在一端支持 SNMP。大多数高端交换机都内置了对 SNMP 和 LLDP 的支持。计算机主机需要像lldpd这样的东西 和一个 SNMP 服务器,而 SNMP 服务器需要提供 .1.0.8802.1.1.2.1 LLDP 信息。

执照

Netgraphp 是根据 GNU GENERAL PUBLIC LICENSE (GPL) 的条款发布的。

文档

netgraphp 中还包含包含此信息的 README 文件。

使用示例

netgraph -h

显示一些帮助

netgraphp some.host.in.my.net > /tmp/my_net.dot

创建一个 graphviz 点文件。

netgraphp -c my_secret_snmp_community some.host.in.net > /tmp/net.dot

使用自定义 SNMP 社区来遍历您的网络。

netgraphp my_switch.net | dot -Tpng -o /tmp/my_net.png

使用 graphviz dot 创建一个 png 文件。如果您在命令行上将开关作为命令提供,则网络拓扑可能看起来最好。

netgraphp my_switch.net | dot -Tpng -Gdpi=75 -o /tmp/my_net.png

创建一个稍小的 png 文件。

netgraphp -d switch1.net switch2.net | dot -Tpdf -o /tmp/my_net.pdf

从主机名中剥离域名并使用 graphviz dot 创建一个 .pdf 文件。

netgraphp -t 2000000 my_switch.net | dot -Teps -o /tmp/my_net.eps

对于慢速网络,将 SNMP 超时增加到 2 秒,并使用点创建 eps。

依赖关系

安装

  1. 调整php路径
  2. 由于 netgraphp 是一个 php 脚本,因此不需要编译。但是,要运行 netgraphp,您需要安装 php,并且可能需要修改文件 netgraphp 的第一行,使该行指向您的 php 二进制文件。您可能需要编辑的行如下所示:
    #!/usr/bin/php
  3. 复制目录结构
  4. 应该将整个目录结构复制到您喜欢的某个位置。重要的是过滤器目录位于 netgraphp 文件旁边,README 和 COPYING 文件对于功能并不重要,但保留以供参考可能很好。
  5. 在登录文件中调整PATH
  6. 除非您想像 /my/preferred/path/netgraphp switch1 host2 -c my_community1 -c other_community 一样提供 netgraphp 脚本的完整路径,否则将安装目录添加到您的路径中。这是如何完成的取决于你的 shell,但如果你是一个高级用户,看到这个工具的使用,你可能也知道如何修改你的 PATH :-)

常问问题

问: 为什么我在生成的图像中看不到我的主机 X?
A: 要显示,X 和网线另一端的设备都必须支持 LLDP。此外,至少有一个设备需要通过 SNMP 提供 LLDP 信息,并且该 SNMP 服务器必须作为命令行的参数或通过遍历其他提供 SNMP 信息的 SNMP 服务器找到。只有在可以解析 LLDP 提供的 SysName 时,才能成功遍历 SNMP 服务器。
问: 为什么我的其中一台设备在图表中标记为灰色?
A: 该设备确实支持 LLDP,但没有提供任何 SNMP 信息,有关该设备的所有信息均由其邻居提供。这也意味着当 SNMP 遍历停止时,该设备之外的其他设备可能会被隐藏。
问: 为什么我的网络连接之一没有显示链接速度。
A: 该网络链接的两端确实提供了有关链接速度的 SNMP 信息,但它们提供的速度不同。因为这些给定的速度中至少有一个肯定是错误的,我们不想冒出现任何错误结果的风险。

变更日志

从变更日志:

日期 版本 注释
------------------------------------------------------------------------------
29/8 2020 1.0.0 第一个稳定版本
                     在没有 SysDescr 的情况下避免来自 LLDP 消息的错误
                     试图显示 Win10 机器,即使它们的 LLDP
                     消息已损坏
                     合勤开关的实验鉴定
                     修复了某些缺少 lldp 的机器的“未知操作系统”
                     修复了从 snmp 检测损坏的 mac 地址的错误

28/1 2017 0.9.0beta 首次公开发布
            

一切

  • 为更多网络设备添加过滤器

欢迎投稿!

生成图像的例子

小家庭网络

Netgraphp小家网

更大的网络

这个相当大的图像(4155x6706 像素)是由它自己的链接提供的,除非您的网络浏览器在显示大图像时能够放大和缩小,否则您可能会发现该链接没有用。

下载

当前稳定版本

当前稳定版本为 1.0.0 版,可从 SourceForge 下载
netgraphp-1.0.0.tar.gz 的 md5sum 为 628571e7b8f845f9e26a1f8f1d5fc72d

之前的版本

发布版本 0.9.0beta 可从 SourceForge 下载
netgraphp-0.9.0beta.tar.gz 的 md5sum 是 c62bacab88806b765cf3c94da0bda231

可以使用以下 subversion 命令获取最新的开发文件:

svn 结帐 svn://svn.code.sf.net/p/netgraphp/code/trunk netgraphp-code
      

 

Guess you like

Origin blog.csdn.net/allway2/article/details/121284494