<?php
//////////////////////////////////////////////////////////////////////////////
//
// PHP Looking Glass - Copyright (c) 2000 
// version 1.7 (2002)
// by 
// Gabriella Paolini - gabriella.paolini@garr.it 
// Looking Glass for CISCO Routers. 
// 
// 
//////////////////////////////////////////////////////////////////////////////
// Add your router password
$pw "password\n";

?>
<HTML>
<HEAD>
<title>PHP Looking Glass</title>
</HEAD>
<BODY bgcolor="white">
<div align="center">
<font size="+3" color="Red" face="Arial">PHP Looking Glass</font><br><br>

</div>
<FORM ACTION="lg.php" METHOD="POST">  
<TABLE CELLPADDING="2" cellspacing="2">

<tr>
<TD bgcolor="#D5B091"><b><FONT COLOR="#FF0000" face="Arial">Router:</FONT></b></TD>
<TD bgcolor="#D5B091"><b><FONT COLOR="#FF0000" face="Arial">Command:</FONT></b></TD>
<TD bgcolor="#D5B091"><b><FONT COLOR="#FF0000" face="Arial">Parameter <font color="Black" size="-1">(optional)</font>:</FONT></b></TD>
<td></td>
</tr>
<tr>
<TD bgcolor="#ffffcc" valign="top">

<SELECT NAME="router">

// add your routers here.
<?php if ($router == "router host"):?>
<OPTION VALUE="router host" selected>router name 
<?php else: ?>
<OPTION VALUE="router host">router name 
<?php endif;?>
//

</SELECT>

</TD>
    <TD bgcolor="#ffffcc">
        <SELECT NAME="query">
            <OPTION VALUE="">========= Unicast =========
            <OPTION VALUE="traceroute" > traceroute
            <OPTION VALUE="ping" > ping
            <OPTION VALUE="ip bgp summary" > sh ip bgp summary
            <OPTION VALUE="ip bgp neighbors"> sh ip bgp neighbors
            <OPTION VALUE="ip bgp regexp"> sh ip bgp regexp
            <OPTION VALUE="ip bgp flap-statistics"> sh ip bgp flap-statistics
            <OPTION VALUE="ip bgp dampened-paths"> sh ip bgp dampened-paths
            <OPTION VALUE="route-map"> sh ip route-map    
            <OPTION VALUE="access-list"> sh access-list
             <OPTION VALUE="ip as-path"> sh ip as-path  
            <OPTION VALUE="ip route"> sh ip route
            <OPTION VALUE="proc"> sh proc     
            <OPTION VALUE="interface"> sh interface                   
            <OPTION VALUE="ip int brief" > sh ip int brief
            <OPTION VALUE="">========= Multicast ========
            <OPTION VALUE="mtrace"> mtrace
            <OPTION VALUE="mrinfo"> mrinfo 
            <OPTION VALUE="ip igmp groups"> sh ip igmp groups
            <OPTION VALUE="ip igmp int"> sh ip igmp interface
            <OPTION VALUE="ip mcache"> sh ip mcache    
            <OPTION VALUE="ip mpacket"> sh ip mpacket
             <OPTION VALUE="ip mroute"> sh ip mroute  
            <OPTION VALUE="ip pim"> sh ip pim
            <OPTION VALUE="ip rpf"> sh ip rpf
            <OPTION VALUE="ip rtp header-compression"> sh ip rtp header-compression     
            <OPTION VALUE="ip sdr"> sh ip sdr            
        </SELECT>

</td>
<TD bgcolor="#ffffcc" valign="top"><input type="text" name="para" size="25"></TD>
<td><INPUT TYPE=submit VALUE="Submit">&nbsp;&nbsp; <INPUT TYPE=reset VALUE="Reset"></td>
</tr>
</TABLE>
<FONT COLOR="#FF0000" face="Arial">
</FORM>
<pre>
<?php
if (($router != "") & ($query != "")):
$fp fsockopen($router23);
if(!
$fp):
    echo 
"Impossible to connect to the router \n";
else :

if (
$query == "traceroute"):
$command $query." ".$para;
elseif (
$query == "ping"):
$command $query." ".$para;
elseif (
$query == "mtrace"):
$command $query." ".$para;
elseif (
$query == "mrinfo"):
$command $query." ".$para;
else:
$command "sh ".$query." ".$para;
endif;

if (
getenv("REQUEST_METHOD") != "POST"):
$command "";
endif;
$command str_replace("\n""Not Valid"$command);
$command substr($command060);
$command $command."\n";

///
// in case you use some routers with tacas auth.
//

 
if ($router == "router host with tacacs"):
        
$username "username\n";

        
fputs ($fp$username);    
        
fputs ($fp$pw);
        
fputs ($fp"terminal length 0\n");
        
fputs ($fp"\n");    
        
fputs ($fp$command);
        
fputs ($fp"exit\n");
        
$start time();
        
socket_set_timeout($fp3);
        
$res fread($fp300000);
        
fclose($fp);
        echo 
"<hr>";
        echo 
substr($res,105);
        echo 
"<hr>";    
 else :
        
fputs ($fp$pw);
        
fputs ($fp"terminal length 0\n");
        
fputs ($fp"\n\n");            
        
fputs ($fp$command);
        
fputs ($fp"exit\n");
        
$start time();
        
socket_set_timeout($fp3);
        
$res fread($fp300000);
        
fclose($fp);
        echo 
"<hr>";
        echo 
substr($res,85);
        echo 
"<hr>";
endif;
endif;
endif;
?>

</PRE>
<br>
<br>
<p align="right"></font><font size="-1">Php Looking Glass v 1.7 - php 
script made by <a
href="mailto:gabriella.paolini@garr.it">Gabriella Paolini</a>  - Open 
Source 2000-2002</font> </p>
</body>