Exemple #1
2
function mtPublicIP($host)
{
    // Instanciate MT API call
    $API = new routeros_api();
    $API->debug = false;
    // Set a default value to return if connection to MT fails
    $ipaddr = "0.0.0.0";
    // Query Mikrotik
    if ($API->connect($host, 'admin', 'DataCom')) {
        $API->write('/ip/dhcp-client/print');
        $ARRAY = $API->read();
        $API->disconnect();
        $ipaddr = substr($ARRAY['0']['address'], 0, -3);
        if ($ipaddr == "") {
            $API->connect($host, 'admin', 'DataCom');
            $API->write('/ip/address/print');
            $ARRAY = $API->read();
            $API->disconnect();
            foreach ($ARRAY as $addr) {
                if ($addr['interface'] == "ether1") {
                    $ipaddr = substr($addr['address'], 0, -3);
                }
            }
        }
    }
    return $ipaddr;
}
Exemple #2
0
// Email Alerts Function
function email_alert($message, $subject)
{
    system("echo '{$message}' | mail -s '{$subject}' trouble@getdatacom.com -- -f alerts@mydatacomgts.com");
}
// Read old states from file
$oldstate = parse_ini_file("/root/oldstatefile.txt");
// Get current states from Mikrotik
require '/usr/local/gts/routeros_api.class.php';
$API = new routeros_api();
$API->debug = false;
// Query Mikrotik
if ($API->connect('69.1.163.102', 'admin', 'd@t@c0m#')) {
    $API->write('/ppp/active/print');
    $ARRAY = $API->read();
    $API->disconnect();
    foreach ($ARRAY as $item) {
        $currentstate[$item['name']] = $item['caller-id'];
    }
    $savefile = "";
    foreach ($currentstate as $name => $ip) {
        $savefile .= $name . "=" . $ip . "\n";
    }
    file_put_contents("/root/oldstatefile.txt", $savefile);
}
// Compare old to new arrays
$newchange = array_diff_assoc($currentstate, $oldstate);
$oldchange = array_diff_assoc($oldstate, $currentstate);
// Figure out changed IPs and Tunnel Ups
$tunnelchange = "";
    $portsAccessCR = "";
    for ($cont3 = 0; $cont3 < count($estadoAccessCR); $cont3++) {
        $allPortsAccessCR = $estadoAccessCR[$cont3]['new-customer-vid'] . "," . $allPortsAccessCR;
    }
    //DELETE LAST COMMA
    if ($allPortsAccessCR[strlen($allPorts) - 1] == ",") {
        $allPortsAccessCR = rtrim($allPorts, ',');
    }
    //LEAVE UNIQUE VALUES WITHOUT REPEATING
    $allPortsAccessCR = implode(',', array_unique(explode(',', $allPortsAccessCR)));
    //DO ARRAY WITH EACH VALUE
    $allPortsAccessCR = explode(',', $allPortsAccessCR);
    $API->write("/interface/ethernet/monitor", false);
    $API->write("=numbers=" . $valores, false);
    $API->write("=once=", true);
    $READ = $API->read(false);
    $statusPorts = $API->parse_response($READ);
    //Array Colores,
    $colores = ["#00fff9", "#ff00e7", "#a3ff00", "#ffdc0b", "#ff4400", "#7c00ff", "#3377ff", "#ff7468", "#20e523", "#fcc512", "#9f0d0d", "#bc9ad4", "#79addd", "#e7d1e5", "#7bcf5a", "#cc8324", "#b80f12", "#0da9b0", "#eea7b9", "#1e7352", "#eee117", "#b80000", "#00137a", "#AA0078", "#3333FF", "#99FF00", "#FFCC00", "#CC0000", "#587498", "#E86850", "#FFD800", "##00FF00", "#FF0000", "#0000FF", "#FF6600", "#A16B23", "#C9341C", "#ECC5A8", "#A3CBF1", "#79BFA1", "#FB7374", "#FF9900", "#4FD5D6", "#D6E3B5", "#FFD197", "#FFFF66", "#FFC3CE", "#21B6A8", "#CDFFFF", ""];
    $API->disconnect();
}
//Sacar valores String TRUNK CR
for ($cont = 0; $cont < count($estadoTrunkCR); $cont++) {
    //Concatenamos todos los puertos de trunk
    $puertosTrunk = $estadoTrunkCR[$cont]['tagged-ports'] . "," . $puertosTrunk;
}
//Eliminamos la ultima coma
$rest = substr($puertosTrunk, 0, -1);
//Separamos cada puerto en una string delimitando la coma
$tags = explode(',', $rest);
//Elegimos el primer puerto y eliminamos a los repetidos
            $Ports = $API->read();
            $API->disconnect();
        }
    }
}
for ($cont = 0; $cont < $numPorts; $cont++) {
    if (isset($_POST['disablePort' . $cont])) {
        $API = new routeros_api();
        $IP = $_SESSION['ip'];
        $user = $_SESSION['user'];
        $password = $_SESSION['password'];
        if ($API->connect($IP, $user, $password)) {
            $API->write("/interface/ethernet/set", false);
            $API->write("=disabled=yes", false);
            $API->write("=.id=" . $Ports[$cont]['name']);
            $Ports = $API->read();
            $API->disconnect();
        }
    }
}
?>
<!--Boton cerrar sesión-->

<?php 
if ($_GET['logOut'] == 'yes') {
    session_destroy();
    header('Location:index.php');
}
?>
<script src="jquery/jquery.min.js"></script>
<script src="jquery/jquery-ui.min.js"></script>
Exemple #5
0
     if (!empty($nd_list['port'])) {
         $hostek .= ':' . $nd_list[$i]['port'];
     }
     $result = $LMS->WIFI_GetAllSignal($hostek, $nd_list[$i]['login']);
     if ($result) {
         $data = $result;
     } else {
         $data = array();
     }
 }
 if ($nastype === 14) {
     $MT->debug = false;
     $MT->port = $nd_list[$i]['port'];
     if ($connect = $MT->connect($nd_list[$i]['ipaddr'], $nd_list[$i]['login'], $nd_list[$i]['passwd'])) {
         $MT->write('/interface/wireless/registration-table/print');
         $result = $MT->read();
         $MT->disconnect();
         if ($result) {
             for ($k = 0; $k < sizeof($result); $k++) {
                 if (isset($result[$k]['signal-strength']) && !empty($result[$k]['signal-strength'])) {
                     $tab[$k]['rx_signal'] = substr($result[$k]['signal-strength'], 0, strpos($result[$k]['signal-strength'], "dBm"));
                 } else {
                     $tab[$k]['rx_signal'] = 0;
                 }
                 if (isset($result[$k]['tx-signal-strength']) && !empty($result[$k]['tx-signal-strength'])) {
                     $tab[$k]['tx_signal'] = $result[$k]['tx-signal-strength'];
                 } else {
                     $tab[$k]['tx_signal'] = 0;
                 }
                 if (isset($result[$k]['rx-rate']) && !empty($result[$k]['rx-rate'])) {
                     $tab[$k]['rx_rate'] = str_replace('Mbps', '', $result[$k]['rx-rate']);
Exemple #6
0
$host = "172.17.10.60";
// Convert results to integer MS
function convertms($resulttime)
{
    $result1 = explode(":", $resulttime);
    $result2 = explode(".", $result1[2]);
    $msval = $result1[0] * 60 * 60 * 1000 + $result1[1] * 60 * 1000 + $result2[0] * 1000 + $result2[1];
    return $msval;
}
// Instanciate MT API call
$API = new routeros_api();
$API->debug = false;
// Query Mikrotik
if ($API->connect($host, 'admin', 'DataCom')) {
    $API->write('/interface/sstp-client/print');
    $TARGET = $API->read();
    $tunuser = $TARGET[0]['user'];
    $pingtargarr = explode(':', $TARGET[0]['connect-to']);
    $pingtarg = $pingtargarr[0];
    echo "Ping Target: " . $pingtarg . "\n";
    $API->write('/ping', false);
    $API->write('=address=' . $pingtarg, false);
    $API->write('=count=10');
    $ARRAY = $API->read();
    $API->disconnect();
}
// Query Tunnel End point for real public ip
if ($API->connect($pingtarg, 'admin', 'D@t@c0m#')) {
    $API->write('/ppp/active/print');
    $TUNNELS = $API->read();
    $pubip = '0.0.0.0';