Пример #1
0
                $sort = 'cipMacHCSwitchedBytes_output_rate';
            } else {
                $sort = 'bps';
            }
        }
    }
}
//end if
$accs = dbFetchRows("SELECT *, (M.cipMacHCSwitchedBytes_input_rate + M.cipMacHCSwitchedBytes_output_rate) AS bps,\n        (M.cipMacHCSwitchedPkts_input_rate + M.cipMacHCSwitchedPkts_output_rate) AS pps\n        FROM `mac_accounting` AS M, `ports` AS I, `devices` AS D WHERE M.port_id = ?\n        AND I.port_id = M.port_id AND D.device_id = I.device_id ORDER BY {$sort} DESC LIMIT 0," . $topn, array($port));
$pluses = '';
$iter = '0';
$rrd_options .= " COMMENT:'                                     In\\: Current     Maximum      Total      Out\\: Current     Maximum     Total\\\\n'";
foreach ($accs as $acc) {
    $this_rrd = $config['rrd_dir'] . '/' . $acc['hostname'] . '/' . safename('cip-' . $acc['ifIndex'] . '-' . $acc['mac'] . '.rrd');
    if (is_file($this_rrd)) {
        $mac = formatmac($acc['mac']);
        $name = $mac;
        $addy = dbFetchRow('SELECT * FROM ipv4_mac where mac_address = ? AND port_id = ?', array($acc['mac'], $acc['port_id']));
        if ($addy) {
            $name = $addy['ipv4_address'] . ' (' . $mac . ')';
            $peer = dbFetchRow('SELECT * FROM ipv4_addresses AS A, ports AS I, devices AS D
              WHERE A.ipv4_address = ? AND I.port_id = A.port_id AND D.device_id = I.device_id', array($addy['ipv4_address']));
            if ($peer) {
                $name = $peer['hostname'] . ' ' . makeshortif($peer['ifDescr']) . ' (' . $mac . ')';
            }
            if (dbFetchCell("SELECT count(*) FROM bgpPeers WHERE device_id = '" . $acc['device_id'] . "' AND bgpPeerIdentifier = ?", array($addy['ipv4_address']))) {
                $peer_info = dbFetchRow('SELECT * FROM bgpPeers WHERE device_id = ? AND bgpPeerIdentifier = ?', array($acc['device_id'], $addy['ipv4_address']));
                $name .= ' - AS' . $peer_info['bgpPeerRemoteAs'];
            }
            if ($peer_info) {
                $asn = 'AS' . $peer_info['bgpPeerRemoteAs'];
Пример #2
0
    if (!is_integer($i / 2)) {
        $bg_colour = $list_colour_a;
    } else {
        $bg_colour = $list_colour_b;
    }
    $fdb_host = dbFetchRow("SELECT * FROM `ports` AS P, devices AS D WHERE P.ifPhysAddress = ? AND D.device_id = P.device_id", array($fdb['mac_address']));
    if ($fdb_host) {
        $fdb_name = generate_device_link($fdb_host);
    } else {
        unset($fdb_name);
    }
    if ($fdb_host) {
        $fdb_if = generate_port_link($fdb_host);
    } else {
        unset($fdb_if);
    }
    if ($fdb_host['device_id'] == $device['device_id']) {
        $fdb_name = "Localhost";
    }
    if ($fdb_host['port_id'] == $fdb['port_id']) {
        $fdb_if = "Local Port";
    }
    echo "\n  <tr bgcolor={$bg_colour}>\n    <td width=160>VLAN" . $fdb['vlan_id'] . "</td>\n    <td width=160>" . formatmac($fdb['mac_address']) . "</td>\n    <td width=280>{$fdb_name}</td>\n    <td><strong>{$fdb_if}</strong></td>\n    <td width=160>";
    foreach (dbFetchRows("SELECT ip_address FROM ip_mac WHERE mac_address = ? GROUP BY ip_address", array($fdb['mac_address'])) as $ip) {
        echo $ip['ip_address'] . "<br />";
    }
    echo "</td>\n\n  </tr>";
    $i++;
}
echo "  </tbody>\n";
echo "</table>\n";
Пример #3
0
echo '<table border="0" cellspacing="0" cellpadding="5" width="100%">';
echo '<tr><th>Port</th><th>MAC address</th><th>IPv4 address</th><th>Remote device</th><th>Remote port</th></tr>';
$i = "1";
foreach (dbFetchRows("SELECT * FROM ipv4_mac AS M, ports AS I WHERE I.port_id = M.port_id AND I.device_id = ?", array($device['device_id'])) as $arp) {
    if (!is_integer($i / 2)) {
        $bg_colour = $list_colour_a;
    } else {
        $bg_colour = $list_colour_b;
    }
    $arp_host = dbFetchRow("SELECT * FROM ipv4_addresses AS A, ports AS I, devices AS D WHERE A.ipv4_address = ? AND I.port_id = A.port_id AND D.device_id = I.device_id", array($arp['ipv4_address']));
    if ($arp_host) {
        $arp_name = generate_device_link($arp_host);
    } else {
        unset($arp_name);
    }
    if ($arp_host) {
        $arp_if = generate_port_link($arp_host);
    } else {
        unset($arp_if);
    }
    if ($arp_host['device_id'] == $device['device_id']) {
        $arp_name = "Localhost";
    }
    if ($arp_host['port_id'] == $arp['port_id']) {
        $arp_if = "Local Port";
    }
    echo "\n  <tr bgcolor={$bg_colour}>\n    <td width=200><b>" . generate_port_link(array_merge($arp, $device)) . "</b></td>\n    <td width=160>" . formatmac($arp['mac_address']) . "</td>\n    <td width=160>" . $arp['ipv4_address'] . "</td>\n    <td width=280>{$arp_name}</td>\n    <td>{$arp_if}</td>\n  </tr>";
    $i++;
}
echo "</table>";
    } elseif ($sort == "out") {
        $sort = "bytes_output_rate";
    } else {
        $sort = "bps";
    }
}
$mas = dbFetchRows("SELECT *, (bytes_input_rate + bytes_output_rate) AS bps,\n        (pkts_input_rate + pkts_output_rate) AS pps\n        FROM `mac_accounting`\n        LEFT JOIN  `mac_accounting-state` ON  `mac_accounting`.ma_id =  `mac_accounting-state`.ma_id\n        WHERE `mac_accounting`.port_id = ?\n        ORDER BY {$sort} DESC LIMIT 0," . $topn, array($port));
$port = get_port_by_id($port);
$device = device_by_id_cache($port['device_id']);
$pluses = "";
$iter = '0';
$rrd_options .= " COMMENT:'                                     In\\: Current     Maximum      Total      Out\\: Current     Maximum     Total\\\\n'";
foreach ($mas as $ma) {
    $this_rrd = $config['rrd_dir'] . "/" . $device['hostname'] . "/" . safename("mac_acc-" . $port['ifIndex'] . "-" . $ma['vlan_id'] . "-" . $ma['mac'] . ".rrd");
    if (is_file($this_rrd)) {
        $mac = formatmac($ma['mac']);
        $name = $mac;
        $addy = dbFetchRow("SELECT * FROM ipv4_mac where mac_address = ? AND port_id = ?", array($ma['mac'], $ma['port_id']));
        if ($addy) {
            $name = $addy['ipv4_address'] . " (" . $mac . ")";
            $peer = dbFetchRow("SELECT * FROM ipv4_addresses AS A, ports AS I, devices AS D\n              WHERE A.ipv4_address = ? AND I.port_id = A.port_id AND D.device_id = I.device_id", array($addy['ipv4_address']));
            if ($peer) {
                $name = $peer['hostname'] . " " . short_ifname($peer['ifDescr']) . " (" . $mac . ")";
            }
            if (dbFetchCell("SELECT COUNT(*) FROM bgpPeers WHERE device_id = ? AND bgpPeerIdentifier = ?", array($ma['device_id'], $addy['ipv4_address']))) {
                $peer_info = dbFetchRow("SELECT * FROM bgpPeers WHERE device_id = ? AND bgpPeerIdentifier = ?", array($ma['device_id'], $addy['ipv4_address']));
                $name .= " - AS" . $peer_info['bgpPeerRemoteAs'];
            }
            if ($peer_info) {
                $asn = "AS" . $peer_info['bgpPeerRemoteAs'];
                $astext = $peer_info['astext'];
Пример #5
0
$i = '1';
foreach (dbFetchRows('SELECT * FROM ipv4_mac AS M, ports AS I WHERE I.port_id = M.port_id AND I.device_id = ?', array($device['device_id'])) as $arp) {
    if (!is_integer($i / 2)) {
        $bg_colour = $list_colour_a;
    } else {
        $bg_colour = $list_colour_b;
    }
    $arp_host = dbFetchRow('SELECT * FROM ipv4_addresses AS A, ports AS I, devices AS D WHERE A.ipv4_address = ? AND I.port_id = A.port_id AND D.device_id = I.device_id', array($arp['ipv4_address']));
    if ($arp_host) {
        $arp_name = generate_device_link($arp_host);
    } else {
        unset($arp_name);
    }
    if ($arp_host) {
        $arp_if = generate_port_link($arp_host);
    } else {
        unset($arp_if);
    }
    if ($arp_host['device_id'] == $device['device_id']) {
        $arp_name = 'Localhost';
    }
    if ($arp_host['port_id'] == $arp['port_id']) {
        $arp_if = 'Local Port';
    }
    echo "\n  <tr bgcolor={$bg_colour}>\n    <td width=200><b>" . generate_port_link(array_merge($arp, $device)) . '</b></td>
    <td width=160>' . formatmac($arp['mac_address']) . '</td>
    <td width=160>' . $arp['ipv4_address'] . "</td>\n    <td width=280>{$arp_name}</td>\n    <td>{$arp_if}</td>\n  </tr>";
    $i++;
}
//end foreach
echo '</table>';
Пример #6
0
    if (!is_integer($i / 2)) {
        $bg_colour = $list_colour_a;
    } else {
        $bg_colour = $list_colour_b;
    }
    $fdb_host = dbFetchRow("SELECT * FROM `ports` AS P, devices AS D WHERE P.ifPhysAddress = ? AND D.device_id = P.device_id", array($fdb['mac_address']));
    if ($fdb_host) {
        $fdb_name = generate_device_link($fdb_host);
    } else {
        unset($fdb_name);
    }
    if ($fdb_host) {
        $fdb_if = generate_port_link($fdb_host);
    } else {
        unset($fdb_if);
    }
    if ($fdb_host['device_id'] == $device['device_id']) {
        $fdb_name = "Localhost";
    }
    if ($fdb_host['port_id'] == $fdb['port_id']) {
        $fdb_if = "Local Port";
    }
    echo "\n  <tr bgcolor={$bg_colour}>\n    <td width=160>VLAN" . $fdb['vlan_id'] . "</td>\n    <td width=160>" . formatmac($fdb['mac_address']) . "</td>\n    <td width=200><b>" . generate_port_link(array_merge($fdb, $device)) . "</b></td>\n    <td width=280>{$fdb_name}</td>\n    <td><strong>{$fdb_if}</strong></td>\n    <td width=160>";
    foreach (dbFetchRows("SELECT ip_address FROM ip_mac WHERE mac_address = ? GROUP BY ip_address", array($fdb['mac_address'])) as $ip) {
        echo $ip['ip_address'] . "<br />";
    }
    echo "</td>\n\n  </tr>";
    $i++;
}
echo "  </tbody>\n";
echo "</table>\n";