网络拓扑自动扫描工具

2023-10-24 16:24:54 浏览数 (1)

topology-scanner

Topology-Scanner是WeOps团队免费开放的一个网络拓扑自动扫描模块,可以自动发现网络设备的类型、网络设备之间的互联

使用方式

代码语言:javascript复制
java -jar ./topology-scanner.jar --config_path=./config/

配置说明

1. 拓扑发现请求参数文件(request.json)

ips

[全网发现] 模式时,为必填项。核心设备的ip, 多个ip 用逗号隔开。range 参数选填,起过滤作用。eg: 192.168.1.0,192.168.2.0

[子网发现] 模式时,为选填项。子网ip地址和掩码,必须成对。可多个,逗号隔开。若为子网发现, ips 参数和range 参数不能同时为空。详见子网发现方式。eg: 192.168.1.0,255.255.255.0, 192.168.2.0,255.255.255.0

hop

搜索深度,必填

group

使用SNMP V2协议时必填,SNMP V2的团体名,多个团体名用逗号隔开 eg: public,Huawei-public 当使用SNMP V3协议时可不填

range

[全网发现] 模式时,为选填项。Ip 范围,起过滤作用,可以多对,每对之间用; 号分隔,由开始和结束组成。eg: 192.168.1.0,192.168.1.255;192.168.2.0,192.168.2.255

[子网发现] 模式时,为选填项。若发现方式为子网发现,ips 参数和range 参数不能同时为空。Ip 范围,相当于范围发现,与子网发现结果取并集。Ip范围可以多对,每对由开始和结束组成,每对之间用;号分隔,eg: 192.168.1.0,192.168.1.255;192.168.2.0,192.168.2.255

way

发现方式:0-全网发现 1-子网发现

algory

发现算法:

  • 0-常规算法
  • 1-CDP算法
  • 2-LLDP 算法
  • 3-桥接算法
version

SNMP 版本号,

  • 2-SNMP 版本1或2
  • 3-SNMP 版本3
v3

当使用SNMP V1/V2版本时可不填,当使用V3时,可填写如下JSON

代码语言:javascript复制
[{
    username:用户名, 根据 safeLevel 级别选填,
    safeLevel:安全级别,必须为以下三者之一
              NOAUTH_NOPRIV  // 无认证无加密
              AUTH_NOPRIV    // 有认证无加密
              AUTH_PRIV      // 有认证有加密,
    protocol: 认证协议, 根据 safeLevel 级别选填, 必须为以下两者之一
              AuthMD5     // MD5
              AuthSHA     // SHA,
    pwd:     认证密码,根据 safeLevel 级别选填 ,
    encrypt:      加密协议,根据 safeLevel 级别选填,必须为以下5者之一
                PrivDES       // DES 加密
                Priv3DES      // 3DES 加密
                PrivAES128    // AES 128位
                PrivAES192    // AES 192位
                PrivAES256    // AES 256位,
    encryptPwd:加密密码,根据 safeLevel 级别选填,
    content: 上下文,
    port: SNMP 端口号
}]

示例参数如下

代码语言:javascript复制
[
          {
               "userName":"",                        //用户名
               "safeLevel":"NOAUTH_NOPRIV",          //安全级别
               "protocol":"",                        //认证协议
               "pwd":"",                             //认证密码
               "encrypt":"",                         //加密协议
               "encryptPwd":"",                     //加密密码
               "context":"",                        //上下文
               "port":"161"                        //端口
           }
  ]

2. 拓扑发现运行的参数文件(discovery.properties)

3.设备oid 与设备类型字典文件(systemoid.xml/getterConfig.xml)

为了能更精确的采集网络设备上的各种表,特别是 FDB 表, 由于设备类型不同,FDB 表采集所用的 oid 也有差别。通过外部 getterConfig.xml 文件来指定某种设备采集的SNMP 采集器。默认 getterConfig.xml 配置的getters 子节点为空。getterConfig.xml 配置如下示例:

代码语言:javascript复制
<?xml version="1.0" encoding="UTF-8"?>

<getterConfig>
    <getters>
        <getter sysOid="1.3.6.1.4.1.6339" name="DefaultSNMPGetter"></getter>
        <getter sysOid="1.3.6.1.4.1.63394" name="Huawei2300Getter"></getter>
    </getters>
</getterConfig>

sysOid: 设备的oid name: 采集的SNMP 采集器。

可选的采集器如下:

4. 输出结果说明

项目地址:

https://github.com/WeOps-Lab/topology-scanner

网盘下载地址:

链接:https://pan.quark.cn/s/d4aa8aa5e10d

0 人点赞