發送V2陷阱NET SNMP我有以下配置:如何用c
- 陷阱OID = .1.3.6.1.4.1.78945.1.1.1.1.1
- 陷阱變量的OID = 1.3 .6.1.4.1.78945.1.1.2.1.0,變量類型=字符串
- 另一個陷阱變量oid = .1.3.6.1.4.1.78945.1.1.2.4.0,變量類型=整數。
- 陷阱監聽IP和端口= 192.168.4.10:1234
如何發送使用在Linux C或C++和NET-SNMP陷阱模塊?我需要一個示例代碼。 net-snmp站點的所有示例代碼都不適用於我。
我的示例代碼:
#include <net-snmp/net-snmp-config.h>
#include <net-snmp/net-snmp-includes.h>
oid objid_id[] = { 1,3,6,1,4,1,78945,1,1,2,4,0};
oid objid_name[] = { 1,3,6,1,4,1,78945,1,1,2,1,0};
oid trap_oid[] = {1,3,6,1,4,1,78945,1,1,1,1,1};
int main()
{
netsnmp_session session, *ss;
netsnmp_pdu *pdu, *response;
char comm[] = "public";
snmp_sess_init(&session);
session.version = SNMP_VERSION_2c;
session.community = comm;
session.community_len = strlen(session.community);
session.peername = "192.168.4.10:1234";
ss = snmp_open(&session);
if (!ss) {
snmp_sess_perror("ack", &session);
exit(1);
}
pdu = snmp_pdu_create(SNMP_MSG_TRAP2);
pdu->community = comm;
pdu->community_len = strlen(comm);
pdu->enterprise = trap_oid;
pdu->enterprise_length = sizeof(trap_oid)/sizeof(oid);
pdu->trap_type = SNMP_TRAP_ENTERPRISESPECIFIC;
snmp_add_var(pdu, objid_name, sizeof(objid_name)/sizeof(oid), 's', "Test Name");
snmp_add_var(pdu, objid_id, sizeof(objid_id)/sizeof(oid), 'i', "5468");
send_trap_to_sess (ss, pdu);
snmp_close(ss);
return (0);
}
NET-SNMP中網站上的心跳通知的例子讓我感到困惑與在給聽者的細節?
預先感謝您。
[net-snmp示例](http://www.net-snmp.org/dev/agent/examples html的)? – syntagma
請問一個具體的問題,具體告訴我們具體哪個例子出了什麼問題。他們爲其他人工作。因此,如果我們向您發送示例代碼,它可能會(a)與那些官方樣本相同,並且(b)仍然不適合您。我們需要找出_why_就是這樣,當你沒有提供任何有關你的問題的信息時,我們就不能這麼做。 –
我已經添加了我使用的示例代碼。它發送一個陷阱但沒有添加變量。我正在使用MIB瀏覽器接收陷阱 – user2914066