snmpwalk:SNMP 请求中未填充设置

snmpwalk:SNMP 请求中未填充设置

我在 Kali 上使用 snmpwalk 5.9.3,并尝试发送 SNMPv3 请求,但是我在命令行中输入的设置不用于填充发送的请求。

例如,当我尝试:snmpwalk -v 3 -l authPriv -u my_user -a SHA-256 -A auth_password -x AES-256 -X priv_password 192.168.0.1 并查看 Wireshark 中发送的请求时,我可以看到缺少用户名、身份验证参数和隐私参数。

Wireshark 跟踪:

wireshark 跟踪

为什么我的设置没有在发送的请求中使用?

我尝试使用 v 1 et 2c 发送 SNMP 请求并设置一个社区,一切按预期进行,所以我的问题仅在使用 v 3 时出现。

答案1

在 Wireshark 中,转到“编辑”->“首选项”->“协议”->“SNMP”,然后单击用户表:Edit.然后填写您的 SNMPv3 身份验证信息,并再次检查您的网络跟踪。

显然 SNMPv3 身份验证字段是哈希值,所以如果你不知道应该在那里,您无法从中获得任何有用的信息(至少不是微不足道的)。因此 Wireshark 甚至不会尝试分析它们,<MISSING>而是指示任何与身份验证相关的字段。

此外,SNMPv3 引擎 ID 对于身份验证哈希来说是必需的,而客户端最初并不知道代理的当前引擎 ID。因此,第一个查询将是未经身份验证的查询,显然查询的是... 什么都没有(零 OID)。

SNMPv3 代理将以 OID .1.3.6.1.6.3.15.1.1.4.0 报告进行响应(= 由于查询引用了未知引擎 ID 而丢弃的数据包数量)。这显然只是为了向请求者提供引擎 ID,以便进行真正的身份验证。第一个查询之后的任何查询都应正确填写身份验证字段。

相关内容