Guest User

Untitled

a guest
Dec 11th, 2017
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.01 KB | None | 0 0
  1. <?php
  2. include ('../inc/sql.pdo.inc.php');
  3.  
  4. $usesnmp = true;
  5. $snmphost = "82.3.81.202";
  6. $snmpcommunity = "g4r3thsnmp";
  7. $linxdata = file('linxmembers');
  8. $badpeers ="";
  9. $IX_Code = array (
  10.        "LONAP" => array (
  11.        "IPv4" => "lnp",
  12.        "IPv6" => "lp6",
  13.        ),
  14.        "LINX Extreme LAN" => array (
  15.        "IPv4" => "lnx",
  16.        "IPv6" => "lx6",
  17.        ),
  18.        "LINX Brocade LAN" =>  array (
  19.        "IPv4" => "lnx",
  20.        "IPv6" => "lx6"
  21.        ),
  22. );
  23.  
  24. function stripsnmptype($response)
  25. {
  26.    return (trim(preg_replace("/(hex|counter(32|64)|gauge|gauge(32|64)|float|ipaddress|integer|string):/i", "", $response)));
  27. }
  28.  
  29. if ($usesnmp == true)
  30. {
  31.     $peers = snmp2_real_walk($snmphost, $snmpcommunity, ".1.3.6.1.2.1.15.3.1.7");
  32. } else {
  33.     $peers = file('ips');
  34. }
  35.  
  36. foreach ($linxdata as $members => $member)
  37. {
  38.        $x = explode(":",$member);
  39.  
  40.        unset($x[0]);
  41.        unset($x[4]);
  42.        unset($x[5]);
  43.        unset($x[8]);
  44.  
  45.        $x[3] = str_replace(" ","",$x[3]);
  46.        $x[7] = trim($x[7],",");
  47.        $x[7] = rtrim($x[7],",");
  48.        $x[7] = str_replace(",,",",",$x[7]);
  49.        $x[7] = explode(",",$x[7]);
  50.        $lx[] = $x;
  51. }
  52.  
  53. foreach ($peers as $peer => $peer_ip)
  54. {
  55.     $peer_ip = ($usesnmp == true ? stripsnmptype($peer_ip) : rtrim($peer_ip));
  56.  
  57.     $peer_sql = "
  58.         select pp.asn, mp.name, pp.name, pp.irr_as_set, ppc.email, ppc.telephone,ppp.protocol, pp.info_prefixes from peerParticipants pp
  59.         left join peerParticipantsPublics ppp on (pp.id = ppp.participant_id)
  60.         left join mgmtPublics mp on (ppp.public_id = mp.id)
  61.         left join peerParticipantsContacts ppc on (ppp.participant_id = ppc.participant_id)
  62.         where ppp.local_ipaddr = ?";
  63.    
  64.      $peer_sqlq = $dbconn->prepare($peer_sql);
  65.          $peer_sqlq->execute(array($peer_ip));
  66.      $peer_sqlr = $peer_sqlq->fetch();
  67.  
  68.     if (($peer_sqlq->rowCount ()) > 0 )
  69.         {
  70.  
  71.                 $peerx['asn'] = $peer_sqlr[0];
  72.                 $peerx['name'] = $peer_sqlr[2];
  73.                 $peerx['nocemail'] = $peer_sqlr[4];
  74.                 $peerx['noctel'] = str_replace((array(" ","-")),"",$peer_sqlr[5]);
  75.  
  76.      foreach ($lx as $k => $v)
  77.      {
  78.        if ($v[6] == $peer_sqlr[0])
  79.        {
  80.          $peerx['asn'] = $v[6];
  81.                  $peerx['name'] = $v[1];
  82.                  $peerx['nocemail'] = $v[2];
  83.          $peerx['noctel'] = str_replace((array(" ","-")),"",$v[3]);
  84.  
  85.        }
  86.       }
  87.      
  88.                  $peerx['ip'] = $peer_ip;
  89.              $peerx['ix'] = $peer_sqlr[1]; 
  90.                  $peerx['ipv'] = substr_count($peerx['ip'],":") > 0 ? "IPv6" : "IPv4";
  91.                  $peerx['ixcode'] = $IX_Code[($peerx['ix'])][($peerx['ipv'])];
  92.                  $peerx['set'] = strtoupper($peer_sqlr['3']);
  93.          
  94.          printf("neighbour %s description as:%d p:%s c:%s set:%s ac:AS-TIMICO e:%s t:%s\n",
  95.              $peerx['ip'], $peerx['asn'], $peerx['ixcode'], $peerx['name'], $peerx['set'], $peerx['nocemail'], $peerx['noctel']);
  96.  
  97.      } else {
  98.  
  99.                 $badpeers .= "ERROR: $peer_ip NOT FOUND IN PEERINGDB\n";
  100.     }
  101. }
  102.      $dbconn = null;
  103. echo "\n\n\n\n".$badpeers;
  104. ?>
Add Comment
Please, Sign In to add comment