网络拓扑自动扫描工具
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 采集器。
可选的采集器如下:
4. 输出结果说明
项目地址:
https://github.com/WeOps-Lab/topology-scanner
文章来源:Hack之道
黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!
如侵权请私聊我们删文
END
华盟君