Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #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_snmp("APC Check");
- snmp_sess_init(&session);
- session.version = SNMP_VERSION_1;
- session.community = "public";
- session.community_len = strlen(session.community);
- session.peername = "127.0.0.1";
- sess_handle = snmp_open(&session);
- add_mibdir(".");
- mib_tree = read_mib("SNMPv2-MIB");
- pdu = snmp_pdu_create(SNMP_MSG_GET);
- read_objid("SNMPv2-MIB::sysDescr.0", id_oid, &id_len);
- snmp_add_null_var(pdu, id_oid, id_len);
- status = snmp_synch_response(sess_handle, pdu, &response);
- for(vars = response->variables; vars; vars = vars->next_variable)
- {
- print_value(vars->name, vars->name_length, vars);
- }
- snmp_free_pdu(response);
- snmp_close(sess_handle);
- return (0);
- }
- # root@supertank:~# gcc -o snmp_get snmp_get.c $(net-snmp-config --cflags) $(net-snmp-config --libs) $(net-snmp-config --external-libs)
- root@supertank:~# ./snmp_get
- STRING: Linux supertank 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2 (2017-04-30) x86_64
- # root@supertank:/etc/snmp# snmpget -mALL -v1 -cpublic 127.0.0.1 sysDescr.0
- SNMPv2-MIB::sysDescr.0 = STRING: Linux supertank 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2 (2017-04-30) x86_64
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement