Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- include ('../inc/sql.pdo.inc.php');
- $usesnmp = true;
- $snmphost = "82.3.81.202";
- $snmpcommunity = "g4r3thsnmp";
- $linxdata = file('linxmembers');
- $badpeers ="";
- $IX_Code = array (
- "LONAP" => array (
- "IPv4" => "lnp",
- "IPv6" => "lp6",
- ),
- "LINX Extreme LAN" => array (
- "IPv4" => "lnx",
- "IPv6" => "lx6",
- ),
- "LINX Brocade LAN" => array (
- "IPv4" => "lnx",
- "IPv6" => "lx6"
- ),
- );
- function stripsnmptype($response)
- {
- return (trim(preg_replace("/(hex|counter(32|64)|gauge|gauge(32|64)|float|ipaddress|integer|string):/i", "", $response)));
- }
- if ($usesnmp == true)
- {
- $peers = snmp2_real_walk($snmphost, $snmpcommunity, ".1.3.6.1.2.1.15.3.1.7");
- } else {
- $peers = file('ips');
- }
- foreach ($linxdata as $members => $member)
- {
- $x = explode(":",$member);
- unset($x[0]);
- unset($x[4]);
- unset($x[5]);
- unset($x[8]);
- $x[3] = str_replace(" ","",$x[3]);
- $x[7] = trim($x[7],",");
- $x[7] = rtrim($x[7],",");
- $x[7] = str_replace(",,",",",$x[7]);
- $x[7] = explode(",",$x[7]);
- $lx[] = $x;
- }
- foreach ($peers as $peer => $peer_ip)
- {
- $peer_ip = ($usesnmp == true ? stripsnmptype($peer_ip) : rtrim($peer_ip));
- $peer_sql = "
- select pp.asn, mp.name, pp.name, pp.irr_as_set, ppc.email, ppc.telephone,ppp.protocol, pp.info_prefixes from peerParticipants pp
- left join peerParticipantsPublics ppp on (pp.id = ppp.participant_id)
- left join mgmtPublics mp on (ppp.public_id = mp.id)
- left join peerParticipantsContacts ppc on (ppp.participant_id = ppc.participant_id)
- where ppp.local_ipaddr = ?";
- $peer_sqlq = $dbconn->prepare($peer_sql);
- $peer_sqlq->execute(array($peer_ip));
- $peer_sqlr = $peer_sqlq->fetch();
- if (($peer_sqlq->rowCount ()) > 0 )
- {
- $peerx['asn'] = $peer_sqlr[0];
- $peerx['name'] = $peer_sqlr[2];
- $peerx['nocemail'] = $peer_sqlr[4];
- $peerx['noctel'] = str_replace((array(" ","-")),"",$peer_sqlr[5]);
- foreach ($lx as $k => $v)
- {
- if ($v[6] == $peer_sqlr[0])
- {
- $peerx['asn'] = $v[6];
- $peerx['name'] = $v[1];
- $peerx['nocemail'] = $v[2];
- $peerx['noctel'] = str_replace((array(" ","-")),"",$v[3]);
- }
- }
- $peerx['ip'] = $peer_ip;
- $peerx['ix'] = $peer_sqlr[1];
- $peerx['ipv'] = substr_count($peerx['ip'],":") > 0 ? "IPv6" : "IPv4";
- $peerx['ixcode'] = $IX_Code[($peerx['ix'])][($peerx['ipv'])];
- $peerx['set'] = strtoupper($peer_sqlr['3']);
- printf("neighbour %s description as:%d p:%s c:%s set:%s ac:AS-TIMICO e:%s t:%s\n",
- $peerx['ip'], $peerx['asn'], $peerx['ixcode'], $peerx['name'], $peerx['set'], $peerx['nocemail'], $peerx['noctel']);
- } else {
- $badpeers .= "ERROR: $peer_ip NOT FOUND IN PEERINGDB\n";
- }
- }
- $dbconn = null;
- echo "\n\n\n\n".$badpeers;
- ?>
Add Comment
Please, Sign In to add comment