自动化网络发现的工具。
DiscoNet的Python项目详细描述
disconnect扫描指定的子网和ip,以查找可以使用 提供凭据并执行任意命令列表。
扫描网络和收集命令输出的过程是建立在一个多进程上的 架构,因此disconnect可以快速扫描管理子网和环回子网, 用输出填充xlsx工作簿。
安装
使用最新版本的setuptools和pip安装disconnect:
$ pip install --upgrade setuptools pip $ pip install DiscoNet
您还可以选择安装disconnect gui,它用于kivy库。要安装它, 首先,您需要按照Kivy Installation Instructions操作您的平台。 然后使用gui标记安装discoet:
$ pip install DiscoNet[kivy]
OS X和Windows的二进制发行版可用here。
用法
- gui和命令行应用程序接受几个输入参数:
- 工作簿:输出xlsx文件的路径
- 子网:要扫描的网络和IP地址的逗号分隔列表
- 用户名:ssh用户名
- 密码:ssh密码
- 命令:在gui中每行一个,或从命令行作为参数传递
- 示例:
打开gui应用程序:
$ python -m DiscoNet
从命令行扫描并创建发现工作簿:
$ python -m DiscoNet.discoveryscan workbook subnets username password commands
其中包括一个方便的脚本,以便gui和命令行实用程序可以分别 相应地使用以下命令运行:
$ DiscoNet $ discoveryscan workbook subnets username password commands ...
对每个命令使用双引号,并根据需要包括尽可能多的引号,例如:
$ discoveryscan out.xlsx 172.16.0.0/24 admin password "show ver" "show run"
API
要在您自己的项目中使用该模块,请参考API Documentation。
- 示例:
从python启动发现扫描:
from DiscoNet.discoveryscan import DiscoveryScan d = DiscoveryScan(workbook, subnets, username, password, [commands, ...]) d.start()
commands参数应该是命令字符串的列表。启动方法将 阻止,直到扫描完成。可选地,start方法可以是非阻塞的 当提供回调函数时:
from DiscoNet.discoveryscan import DiscoveryScan def cb() #callback function return d = DiscoveryScan(workbook, subnets, username, password, [commands, ...]) d.start(cb)