Version: 0.1b
Type: Full Script
Category: HTTP
License: GNU General Public License
Description: This script will output the current active HTTP sessions on any web server by querying the respective SNMP OID. You need to have the php_snmp.dll extension enabled in your php.ini file and also have the ‘extensions’ directory set. Your server should also be running SNMP as a service.
<?php # HTTP Session Identifier using SNMP # 1st April 2001, Sheran A. Gunasekera # # PHP Version: php 4.0.4pl1 # Script Version: 0.1b # header("Pragma: no-cache"); # Make sure the HTML document is not cached at the Browser header("Refresh: 30"); # Refresh the document every 30 seconds ?> <html> <title>HTTP Sessions established on the <Hostname goes here> Server</title> <body> <h3>HTTP Sessions established as at <?php $tm=strftime("%I:%M%p"); # Format the current time to H:M AM/PM echo $tm; ?> </h3> <table> <?php $a= snmpwalk("127.0.0.1", "public", ".1.3.6.1.2.1.6.13.1.4.10.1.10.24.80"); # Get the Connections to Port 80 on the specified Host using SNMP into array $a $b= array_unique($a); # Get all of the unique IP's from the array... $c= array_keys($b); # ...also ensure that you get the correct array keys for ($p=0; $p<count($c); $p++) { $sp=substr($b[$c[$p]],11,-1); # Place the IP Address in a string $fin=gethostbyaddr($sp); # Get the host name of the IP Address (You can comment this out if you are on an Private LAN with no Internet Access) echo "<tr><td>IP: ".$sp."</td><td>Hostname: ".$fin."</td></tr>"; # Output the results } ?> </table> </body> </html>