Linux premium180.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
LiteSpeed
: 162.0.209.168 | : 216.73.216.187
Cant Read [ /etc/named.conf ]
8.3.30
nortrmdp
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
usr /
local /
lsws /
add-ons /
snmp_monitoring /
[ HOME SHELL ]
Name
Size
Permission
Action
README
323
B
-rw-r--r--
class.litespeed_snmp_bridge.ph...
6.27
KB
-rw-r--r--
class.litespeed_stats.php
7.6
KB
-rw-r--r--
litespeed_cacti_template.xml
83.35
KB
-rw-r--r--
litespeed_extapp.xml
3.98
KB
-rw-r--r--
litespeed_general.xml
5.22
KB
-rw-r--r--
litespeed_vhost.xml
1.9
KB
-rw-r--r--
sample.php
994
B
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : class.litespeed_snmp_bridge.php
<?php /*---------------------------------------- LiteSpeed_Stats to SNMP bridge. Relay stats to SNMPD. Copyright (C) 2006 LiteSpeed Technologies, Inc. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Version: 1.0 @ 08/23/2006 Contact: bug@litespeedtech.com Url: http://www.litespeedtech.com Requirement: 1)LiteSpeed Web Server version >= 2.1.18 2)PHP 5+ ----------------------------------------*/ require_once("class.litespeed_stats.php"); class litespeed_snmp_bridge { public $processes = 1; public $report_path = "/tmp/lshttpd/"; public $cache_time = 0; public $cache_file = null; public $stats = null; public function litespeed_snmp_bridge($processes = 1, $report_path = "/tmp/lshttpd/", $cache_time = 0, $cache_file = null) { $this->processes = (int) $processes; $this->report_path = trim($report_path); //prepare parser if($this->cache_time > 0 && strlen($this->cache_file) > 0) { if(file_exists($this->cache_file) && time() - filemtime($this->cache_file) <= $this->cache_time) { $unserial = unserialize(file_get_contents($this->cache_file)); if(is_a($unserial,"litespeed_stats")) { $this->stats = $unserial; } else { $this->stats = new litespeed_stats($this->processes,$this->report_path); $this->stats->parse(); $this->save_cache($this->cache_file, $this->stats); } } else { $this->stats = new litespeed_stats($this->processes,$this->report_path); $this->stats->parse(); $this->save_cache($this->cache_file, $this->stats); } } else { $this->stats = new litespeed_stats($this->processes,$this->report_path); $this->stats->parse(); } } //generate snmp compatible response public function format_response($oid, $type, $data) { return "{$oid}\n{$type}\n{$data}\n"; } //aggregate oid info from 1 to 7 sector public function oid_part($tarray = null) { $str = ""; for($i=1; $i <= 7; $i++) { $str .= "." . $tarray[$i]; } return $str; } //retrieve single oid data public function oid_get($super, $oid) { $parsed = explode(".",$oid); //error..invalid oid parse if(count($parsed) < 9) { return; } $major = (int) $parsed[8]; if(count($parsed) < 10) { $minor = 1; } else { $minor = (int) $parsed[9]; } foreach($super as $key => $value) { $sanitized_major = (int) substr($major,0,1) . "00"; //index only if( $major == (int) $key ) { return $this->format_response($this->oid_part($parsed) . "." . $major . "." . $minor,"integer",$minor); } //non-index value if( $sanitized_major == (int) $key) { $size = count($value[0]); $map = $value[1]; if($size <= 0) { return null; } if(count($parsed) == 10) { if($minor > 0 && $minor <= $size) { $tempkeys = array_keys($value[0]); $temp = $value[0][$tempkeys[$minor-1]]; list($format,$itemkey) = explode(",",$value[1][$major]); return $this->format_response($oid, $format, $temp->$itemkey); } } } } } public function save_cache($file, $data) { file_put_contents($file, serialize($data)); } public function process($type, $oid) { //setup oid to var maps $vh_map = array( "201" => "string,vhost", "202" => "gauge,req_processing", "203" => "gauge,req_per_sec", "204" => "counter,req_total" ); $ext_map = array( "301" => "string,vhost", "302" => "string,type", "303" => "string,extapp", "304" => "gauge,config_max_conn", "305" => "gauge,effect_max_conn", "306" => "gauge,pool_size", "307" => "gauge,inuse_conn", "308" => "gauge,idle_conn", "309" => "gauge,waitqueue_depth", "310" => "gauge,req_per_sec", "311" => "counter,req_total" ); $gen_map = array( "101" => "string,product", "102" => "string,edition", "103" => "string,version", "104" => "string,uptime", "105" => "gauge,bps_in", "106" => "gauge,bps_out", "107" => "gauge,ssl_bps_in", "108" => "gauge,ssl_bps_out", "109" => "gauge,max_conn", "110" => "gauge,max_ssl_conn", "111" => "gauge,plain_conn", "112" => "gauge,avail_conn", "113" => "gauge,idle_conn", "114" => "gauge,ssl_conn", "115" => "gauge,avail_ssl_conn" ); //setup pointers $super = array(); $super["100"] = array(array($this->stats), $gen_map); $super["200"] = array($this->stats->vhosts, $vh_map); //put alll extapps to single array $extapps = array(); foreach($this->stats->vhosts as $value) { foreach($value->extapps as $vextapp) { $extapps[] = $vextapp; } } $super["300"] = array($extapps, $ext_map); //get single method if($type == "-g") { echo $this->oid_get($super, $oid); return; } //snmp walk traversal else if($type == "-n") { //build traversal nodes/oids $parsed = explode(".",$oid); $major = $parsed[8]; foreach($super as $key => $value) { //form index walk if($major == $key) { $size = count($value[0]); if($size <= 0) { return; } if(count($parsed) == 10) { $minor = (int) $parsed[9]; if($minor > 0 && $minor < $size) { echo $this->format_response($this->oid_part($parsed).".{$key}.".($minor+1),"integer",$minor+1); } } else if(count($parsed) == 9){ echo $this->format_response("{$oid}.1","integer",1); } } //data walk else if(array_key_exists($major,$value[1])) { $size = count($value[0]); if($size <= 0) { return; } if(count($parsed) == 10) { $minor = (int) $parsed[9]; if($minor > 0 && $minor < $size) { echo $this->oid_get($super, $this->oid_part($parsed).".{$major}.".($minor+1)); } } else if(count($parsed) == 9){ echo $this->oid_get($super, $this->oid_part($parsed).".{$major}.".(1)); } } } } } } ?>
Close