1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| #include <net-snmp/net-snmp-config.h>
#include <net-snmp/net-snmp-includes.h>
#include <string.h>
int main(int argc, char ** argv)
{
struct snmp_session session;
struct snmp_session *sess_handle;
struct snmp_pdu *pdu;
struct snmp_pdu *response;
struct variable_list *vars;
oid id_oid[MAX_OID_LEN];
oid serial_oid[MAX_OID_LEN];
size_t id_len = MAX_OID_LEN;
size_t serial_len = MAX_OID_LEN;
int status;
struct tree * mib_tree;
/*********************/
init_mib();
if(argv[1] == NULL){
printf("Please supply a hostname\n");
exit(1);
}
init_snmp("test_PowerNet");
snmp_sess_init( &session );
session.version = SNMP_VERSION_1;
session.community = "public";
session.community_len = strlen(session.community);
session.peername = argv[1];
sess_handle = snmp_open(&session);
add_mibdir(".");
mib_tree = read_mib("NET-SNMP-TUTORIAL-MIB.txt");
pdu = snmp_pdu_create(SNMP_MSG_GET);
read_objid("NET-SNMP-TUTORIAL-MIB::nstAgentModuleObject.0", id_oid, &id_len);
snmp_add_null_var(pdu, id_oid, id_len);
read_objid("NET-SNMP-TUTORIAL-MIB::nstAgentModuleObject.0", serial_oid, &serial_len);
snmp_add_null_var(pdu, serial_oid, serial_len);
print_objid("NET-SNMP-TUTORIAL-MIB::nstAgentModuleObject.0",id_len);
/**
*returns :
.1702326096.1952796274.1112100141.1886730810.1935753843.1968137065.1953853556.1952543827.841905013.0.990059265.36.3.4294966464
**/
status = snmp_synch_response(sess_handle, pdu, &response);
for(vars = response->variables; vars; vars = vars->next_variable){
print_variable(vars->name, vars->name_length, vars);
}
snmp_free_pdu(response);
snmp_close(sess_handle);
return (0);
} |
Partager