生成RFC3414中描述的适合与ESXi和其他SNMP守护进程一起使用的snmpv3散列

SNMPv3-Hash-Generator的Python项目详细描述


生成snmpv3密钥的脚本,如rfc3414所述(密码短语 用kdf展开,然后用引擎id散列)。全密钥生成 是使用新的加密安全的secrets库完成的。

在我写这篇文章的时候,考虑到esxi,它还发出了一个适合 通过esxcli/powercli配置snmp守护进程,但是散列是 与其他snmpv3实现标准且兼容。

如果没有参数,它将生成身份验证和隐私 文本形式的带有关联随机引擎ID的密码短语。–json将 将输出格式化为json。

脚本是完全等幂的;如果采用它生成的参数 随机地重新输入它们,您将再次获得相同的输出。

依赖关系

运行时:Python3.6或更高版本。

样本输出

标准

User: observium
Auth: gaYA82XVtNaf3WLwRgoIs544ghP6f80S / f78359764ca382922fa382cf884e588031de575a
Priv: H5XEtRpxXVaGzXU5i2rFwPnYGr8SEzTp / 31a001a56a225fdfc1916bd60190405a1aa22ff0
Engine: 7ae1b0ff0aa2f3950566d3de2274d05a
ESXi USM String: observium/f78359764ca382922fa382cf884e588031de575a/31a001a56a225fdfc1916bd60190405a1aa22ff0/authpriv

json

{
  "user": "observium",
  "engine": "b2a50167b7c8512ddfc9d5765a3490af",
  "phrases": {
    "auth": "71rOhjfj6QVSy2mw5tBo7PueZ8KWSv60",
    "priv": "xwsvzht8NEcuwAlEpUKzMxKFWeH72sK9"
  },
  "hashes": {
    "auth": "fa0d5249293404502f9953b9514d0636a96c2cbc",
    "priv": "cccbdcfa603817df340514ecc22dfae8c4c412e8"
  },
  "esxi": "observium/fa0d5249293404502f9953b9514d0636a96c2cbc/cccbdcfa603817df340514ecc22dfae8c4c412e8/authpriv"}

应该不用说,但是不要使用引擎id或 示例中的密码短语。

用法

usage: snmpv3-hashgen [-h] [--auth AUTH] [--priv PRIV] [--engine ENGINE]
                      [--user USER] [--mode {authpriv,auth,priv,none}]
                      [--hash {md5,sha1}] [--json]

Convert an SNMPv3 auth or priv passphrase to sha1 or md5 hashes

optional arguments:
  -h, --help            show this help message and exit
  --auth AUTH           Authentication passphrase to be derived as a string
  --priv PRIV           Privacy passphrase to be derived as a string
  --engine ENGINE       Engine ID as hex string
  --user USER           SNMPv3 USM username (default "observium")
  --mode {authpriv,auth,priv,none}
                        SNMPv3 mode (default "authpriv")
  --hash {md5,sha1}     Hash algorithm to use (default "sha1")
  --json                Emit output as json

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java我能知道文件的哪个条目正在被修改吗?   多线程Java并发线程   java抓取包含多个页面的多个字母标签的网站   为什么if语句不排除Java中的另一个if语句?   Java可序列化哈希映射到ByteArray以创建blob   JavaEclipseLombokBuilder添加新建议   java将文件路径数组转换为文件数组,并计算每个文件的大小   在Java8流中添加大小数   Bouncy Castle 1.46之前版本的java兼容性问题   无法在AWS设备场上运行安卓 Java Appium测试   java为什么不使用mavenwarplugin将键与“WEBINF/classes/METAINF/MANIFEST.MF”合并?   java如何在引用子类的成员时调用super()   找不到java TestFx无头MonoclePlatformFactory   java AbstractMethodError onClientSessionEvent和“缺少控制媒体的权限”   正则表达式如何使用JAVA在字符串的大写字母前插入空格?   我的Spring安全项目中的java BCrypt(Spring安全)   java在我的网站上查看小程序更新时遇到问题   java如何使用schedule方法