topology-scanner
Topology-Scanner是WeOps团队免费开放的一个网络拓扑自动扫描模块,可以自动发现网络设备的类型、网络设备之间的互联
使用方式
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
[{
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 端口号
}]
示例参数如下
[
{
"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 配置如下示例:
<?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 采集器。
可选的采集器如下: