<?php
// Данный код создан и распространяется по лицензии GPL v3
// Изначальный автор данного кода - Грибов Павел
// http://грибовы.рф
function GetEnt($res){
$zz=explode("INTEGER:", $res);
if (is_array($zz)==true) {return trim($zz[1]);} else
{return "";};
};
//запускаем тест проверки кабеля
$res=shell_exec("snmpset -v2c -c X-Files $devip 1.3.6.1.4.1.171.12.58.1.1.1.12.$port i 1");
$res=GetEnt($res);
if ($res=="1"){
//проверяем что он завершился:
$res=shell_exec("snmpget -v2c -c X-Files $devip 1.3.6.1.4.1.171.12.58.1.1.1.12.$port");
$res=GetEnt($res);
if ($res!="3"){
//еще разок тестанем!
$res=shell_exec("snmpget -v2c -c X-Files $devip 1.3.6.1.4.1.171.12.58.1.1.1.12.$port");
$res=GetEnt($res);
};
if ($res=="3"){
//есть ли линк?
$res=shell_exec("snmpget -v2c -c X-Files $devip 1.3.6.1.4.1.171.12.58.1.1.1.3.$port");
$res=GetEnt($res);
if ($res=="1"){echo "-линк есть</br>";} else {echo "-линка нет</br>";};
//состояние 1 пары
$res=shell_exec("snmpget -v2c -c X-Files $devip 1.3.6.1.4.1.171.12.58.1.1.1.4.$port");
$res=GetEnt($res);
if ($res=="0"){echo "-1 пара ОК</br>";} else {echo "-1 пара BAD</br>";};
//состояние 2 пары
$res=shell_exec("snmpget -v2c -c X-Files $devip 1.3.6.1.4.1.171.12.58.1.1.1.5.$port");
$res=GetEnt($res);
if ($res=="0"){echo "-2 пара ОК</br>";} else {echo "-2 пара BAD</br>";};
//состояние 3 пары
$res=shell_exec("snmpget -v2c -c X-Files $devip 1.3.6.1.4.1.171.12.58.1.1.1.6.$port");
$res=GetEnt($res);
if ($res=="0"){echo "-3 пара ОК</br>";} else {echo "-3 пара BAD</br>";};
//состояние 4 пары
$res=shell_exec("snmpget -v2c -c X-Files $devip 1.3.6.1.4.1.171.12.58.1.1.1.7.$port");
$res=GetEnt($res);
if ($res=="0"){echo "-4 пара ОК</br>";} else {echo "-4 пара BAD</br>";};
//определяем длинну пар
$res=shell_exec("snmpget -v2c -c X-Files $devip 1.3.6.1.4.1.171.12.58.1.1.1.8.$port");
$res=GetEnt($res);
echo "-длина 1 пары $res</br>";
$res=shell_exec("snmpget -v2c -c X-Files $devip 1.3.6.1.4.1.171.12.58.1.1.1.9.$port");
$res=GetEnt($res);
echo "-длина 2 пары $res</br>";
$res=shell_exec("snmpget -v2c -c X-Files $devip 1.3.6.1.4.1.171.12.58.1.1.1.10.$port");
$res=GetEnt($res);
echo "-длина 3 пары $res</br>";
$res=shell_exec("snmpget -v2c -c X-Files $devip 1.3.6.1.4.1.171.12.58.1.1.1.11.$port");
$res=GetEnt($res);
echo "-длина 4 пары $res</br>";
//Определяем состояние кабеля
$res=shell_exec("snmpset -v2c -c X-Files $devip 1.3.6.1.4.1.171.12.58.1.1.1.12.$port i 1");
$res=shell_exec("snmpget -v2c -c X-Files $devip 1.3.6.1.4.1.171.12.58.1.1.1.4.$port");
$res=GetEnt($res);
if ($res=="8") {echo "-Кабель не подключен</br>";};
if ($res=="1") {echo "-Кабель воткнут с одной стороны (второй конец висит в воздухе)</br>";};
} else {
?>
<div class="alert alert-error">
Не удалось завершить опрос пары!
</div>
<?php
};
} else {
?>
<div class="alert alert-error">
Не удалось выполнить SNMP запрос!
</div>
<?php
};