C SNMP GETBULK表命令

C SNMP GETBULK表命令,c,snmp,net-snmp,C,Snmp,Net Snmp,我有一个疑问,当我们请求snmptable请求时,它基本上会将snmpbulk请求发送到NET-SNMP代理,而NET-SNMP代理会将其转换为多个“getnext”请求。是否有任何方法可以检测到所有这些getnext请求都是针对我在snmptable请求中发送的相同请求 是否有任何方法可以区分snmpgetnext和snmpbulk请求(或snmptable请求)生成的snmpgetnext,以及任何会话id 我试图找到getnext请求的事务id,当snmpbulk请求请求的最大pdu数(表

我有一个疑问,当我们请求snmptable请求时,它基本上会将snmpbulk请求发送到NET-SNMP代理,而NET-SNMP代理会将其转换为多个“getnext”请求。是否有任何方法可以检测到所有这些getnext请求都是针对我在snmptable请求中发送的相同请求

是否有任何方法可以区分snmpgetnext和snmpbulk请求(或snmptable请求)生成的snmpgetnext,以及任何会话id

我试图找到getnext请求的事务id,当snmpbulk请求请求的最大pdu数(表中的列数)超过时,事务id被更改


有什么帮助吗?

您误解了获取批量请求的性质。它不会导致多个get next请求。事实上,当代理接收到一个get批量请求时,它将在一个get响应中使用多个VARBIND进行响应。请仔细阅读,特别是关于表遍历的部分。当我们收到get bulk请求时,它将在NET-SNMP中为您提供启示。它在内部向代理处理程序(注册表)发送多个get next请求。在响应所有get next请求之后,netsnmp在内部将所有VARBIND构建为单个响应。我只是想知道是否有任何类似的控制块,我可以通过它关联代理处理程序中的所有下一个请求?啊哈。我现在明白你的意思了。从最初的问题来看,我不清楚您是否在NetSNMP中实现了代理处理程序。谢谢你的澄清。