I am trying to query snmp info using snmpget. But, I am getting a few warnings saying that invalid object identifier: system.sysName.0, system.sysDescr.0, etc.
Does anyone know how to fix the error?
Here's the code:
<?php
function getSysInfoForm() {
$header = '<HTML><HEAD><TITLE>SNMP Test</TITLE</HEAD><br>';
$body = '<BODY BGCOLOR="#CCCC99" TEXT="#FF0000" LINK="#FF0000" VLINK="#FF0000" ALINK="#FF0000">';
$footer = '</BODY></HTML>';
echo "$header\n";
?>
<FORM method="get" name="getSysInfoForm" action="<?php basename( $PHP_SELF ); ?>">
<TABLE ALIGN="center" BGCOLOR="#CCCC99" BORDER="0" CELLPADDING="4" WIDTH="70%">
<TR>
<TD NOWRAP="NOWRAP" WIDTH="10"><BR></TD>
<TD ALIGN="left" HEIGHT="40" NOWRAP="NOWRAP" WIDTH="140">
<B><FONT COLOR="#336633" SIZE="+1">System Name</FONT></B>
</TD>
<TD ALIGN="left" HEIGHT="40" NOWRAP="NOWRAP" WIDTH="70">
<INPUT type="text" name="sysName" id="sysName" size="20" maxlength="20" value="<?php $sysName ?>" READONLY>
</TD>
</TR>
<TR>
<TD NOWRAP="NOWRAP" WIDTH="10"><BR></TD>
<TD ALIGN="left" HEIGHT="40" NOWRAP="NOWRAP" WIDTH="140">
<B><FONT COLOR="#336633" SIZE="+1">System Description</FONT></B>
</TD>
<TD NOWRAP="NOWRAP" WIDTH="40">
<TEXTAREA name="sysDescr" id="sysDescr" cols="34" rows="5" wrap="PHYSICAL"><?php $sysDescr ?>
</TEXTAREA>
</TD>
</TR>
<TR>
<TD WIDTH="7"><BR></TD>
<TD NOWRAP="NOWRAP" WIDTH="136">
<B><FONT COLOR="#336633" SIZE="+1">System Location</FONT></B>
</TD>
<TD NOWRAP="NOWRAP" WIDTH="172">
<TEXTAREA name="sysLocation" id="sysLocation" cols="34" rows="2" wrap="PHYSICAL"><?php $sysLocation ?></TEXTAREA>
</TD>
</TR>
<TR>
<TD WIDTH="7"><BR></TD>
<TD NOWRAP="NOWRAP" WIDTH="136">
<B><FONT COLOR="#336633" SIZE="+1">System Contact</FONT></B>
</TD>
<TD NOWRAP="NOWRAP" WIDTH="172">
<INPUT type="text" name="sysContact" id="sysContact" size="40" maxlength="40" value="<?php $sysContact ?>" readonly>
</TD>
</TR>
<TR>
<TD NOWRAP="NOWRAP" WIDTH="10"><BR></TD>
<TD NOWRAP="NOWRAP" WIDTH="140">
<B><FONT COLOR="#336633" SIZE="+1">System Object ID</FONT></B>
</TD>
<TD WIDTH="70">
<INPUT type="text" name="sysObjectID" id="sysObjectID" size="40" maxlength="40" value="<?php $sysObjectID ?>" readonly>
</TD>
</TR>
<TR>
<TD NOWRAP="NOWRAP" WIDTH="10"><BR></TD>
<TD NOWRAP="NOWRAP" WIDTH="140">
<B><FONT COLOR="#336633" SIZE="+1">System Up Time</FONT></B>
</TD>
<TD WIDTH="70">
<INPUT type="text" name="sysUpTime" id="sysUpTime" size="40" maxlength="40" value="<?php $sysUpTime ?>">
</TD>
</TR>
</TABLE>
</FORM>
<?php
echo $footer;
}
function getSnmpInfo() {
global $sysName, $sysDescr, $sysLocation, $sysContact, $sysObjectID, $sysUpTime, $temp;
// Initialization
$temp = "";
$sysName = $GET['sysName'];
$sysDescr = $GET['sysDescr'];
$sysLocation = $GET['sysLocation'];
$sysContact = $GET['sysContact'];
$sysObjectID = $GET['sysObjectID'];
$sysUpTime = $GET['sysUpTime'];
//snmp-get
$temp = snmpget("127.0.0.1", "public", "system.sysName.0");
$sysName = ltrim( $temp, "system.sysName.0" );
$temp = "";
$temp = snmpget("127.0.0.1", "public", "system.sysDescr.0");
$sysDescr = ltrim( $temp, "system.sysDescr.0" );
$temp = "";
$temp = snmpget("127.0.0.1", "public", "system.sysLocation.0");
$sysLocation = ltrim( $temp, "system.sysLocation.0" );
$temp = "";
$temp = snmpget("127.0.0.1", "public", "system.sysContact.0");
$sysContact = ltrim( $temp, "system.sysContact.0" );
$temp = "";
$temp = snmpget("127.0.0.1", "public", "system.sysObjectID.0");
$sysObjectID = ltrim( $temp, "system.sysObjectID.0" );
$temp = "";
$temp = snmpget("127.0.0.1", "public", "system.sysUpTime.0");
$sysUpTime = ltrim( $temp, "system.sysUpTime.0" );
return 1;
}
// *********************************************************************************
// main
// *********************************************************************************
if( !getSnmpInfo() ) {
getSysInfoForm();
}