#!/usr/bin/php -q fetch("http://".$ip); while(list($key,$val) = each($snoopy->headers)) { if (eregi("type *= *password", $val)) $password_field = eregi_replace(".*input name *= *\"(.*)\".*", "\\1", $val); else if (eregi("form *action *=", $val)) $action_field = eregi_replace(".*action *= *\"(.*)\" .*", "\\1", $val); else if (eregi("type *= *hidden", $val)) { $key_field = eregi_replace(".*input name *= *\"(.*)\".*", "\\1", $val); $key_value = eregi_replace(".*value *= *(.*) *>.*", "\\1", $val); } } $submit_vars[$password_field] = $password; $submit_vars[$key_field] = $key_value; $snoopy->submit("http://".$ip."/".$action_field, $submit_vars); while(list($key,$val) = each($snoopy->headers)) { if (eregi("Set-Cookie: SessionId", $val)) $session_id = eregi_replace(".*SessionId *= *\"(.*)\".*", "\\1", $val); } $snoopy->cookies["SessionID"] = $session_id; $snoopy->fetch("http://".$ip."/rs.htm"); } //************************************************************************************* function add_devices(&$snoopy, &$devices, $network, $ip_start, $ip_end, $password) { for ($i=$ip_start; $i < $ip_end; $i++) { $ip = $network.$i; $fp = fsockopen($ip, 80, $errno, $errstr, 1); if ( $fp ) { fclose($fp); $snoopy->fetch("http://".$ip); while(list($key,$val) = each($snoopy->headers)) if (eregi("grandstream", $val)) add_device($devices, $ip, $password); } } } //************************************************************************************* function add_device(&$devices, $ip, $password) { global $debug; if ($debug) echo "Added ".$ip."\n"; array_push( $devices, array( 'ip' => $ip, 'password' => $password ) ); } //************************************************************************************* function reset_devices(&$snoopy, $devices) { foreach( $devices as $device ) reset_device( $snoopy, $device['ip'], $device['password'] ); } //************************************************************************************* ?>