-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathtest.php
55 lines (41 loc) · 1.82 KB
/
test.php
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
<?php
ini_set('memory_limit', '256M');
require('snmp.php');
$oid = '.1.3.6.1.2.1.69.1.1.3';
$oid = '.1.3.6.1.6.3.15.1.1.4.0';
// test the oid_format function
$z = oid_format($oid, OID_TEXT);
$zz = oid_format($z, OID_NUMERIC);
echo "$oid => $z => $zz\n";
$ip = '172.16.0.116'; // ip address or hostname
$ips = array($ip, '172.16.0.64'); // array of ip addresses or hostnames
$community = 'public'; // community string
$oid = '.1.3.6.1.2.1.1'; // only numerical oids are supported
$oids = array('.1.3.6.1.2.1.1.1', '.1.3.6.1.2.1.1.3');
$snmp = new snmp();
$snmp->version = SNMP_VERSION_2;
print_r($snmp->walk($ip, $oid, ['community' => $community]));
print_r($snmp->multi_walk($ips, $oid, ['community' => $community]));
$snmp->version = SNMP_VERSION_3;
print_r($snmp->get('localhost', '.1.3.6.1.2.1.1.3.0', array('v3_flags'=>SNMP_AUTH_PRIV, 'v3_user'=>'v3user',
'v3_auth'=>'authpassword', 'v3_priv'=>'privpassword')));
// get system uptime
print_r($snmp->get($ip, '.1.3.6.1.2.1.1.3.0', ['community' => $community]));
print_r($snmp->multi_get($ips, '.1.3.6.1.2.1.1.3.0', ['community' => $community]));
// bulk get
print_r($snmp->bulk_get($ip, $oids));
// reset cable modem(s)
$oid = '.1.3.6.1.3.83.1.1.4.0.1.1.3.0';
$snmp->set($ip, $oid, 1, 'i', ['community' => 'private']);
$snmp->multi_set($ips, $oid, 1, 'i', ['community' => 'private']);
// send a trap
$ip = '123.45.12.3';
$community = 'public';
$varbind = $snmp->build_varbind('.1.3.6.1.3.83.1.1.4.1', 17, 'i');
$enterprise = '.1.3.6.1.3.83.1.1.4.0.1.1.3.0';
$agent = '127.0.0.1';
$trap_type = TRAP_LINKUP;
$specific_trap_type = 2;
$uptime = 123;
$snmp->trap($ip, $community, $varbind, $enterprise, $agent, $trap_type, $specific_trap_type, $uptime);
?>