1 | <?php |
---|
2 | // ************************************************************************************************************************************************* |
---|
3 | // Aplicación WEB: ogAdmWebCon |
---|
4 | // Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla |
---|
5 | // Fecha Creación: Año 2009-2010 |
---|
6 | // Fecha Última modificación: Agosto-2010 |
---|
7 | // Nombre del fichero: sondeo.php |
---|
8 | // Descripción : |
---|
9 | // Consulta el eco de los clientes a traqvés de la consola remota |
---|
10 | // ************************************************************************************************************************************************* |
---|
11 | include_once("../includes/ctrlacc.php"); |
---|
12 | include_once("../clases/SockHidra.php"); |
---|
13 | include_once("../clases/AdoPhp.php"); |
---|
14 | include_once("../includes/constantes.php"); |
---|
15 | include_once("../includes/comunes.php"); |
---|
16 | include_once("../includes/CreaComando.php"); |
---|
17 | include_once("../includes/RecopilaIpesMacs.php"); |
---|
18 | //________________________________________________________________________________________________________ |
---|
19 | $ambito=0; |
---|
20 | $idambito=0; |
---|
21 | $sw=0; // Swich para conmutar entre sondeo a clientes o sólo consulta a la tabla de sockets |
---|
22 | |
---|
23 | if (isset($_POST["ambito"])) $ambito=$_POST["ambito"]; |
---|
24 | if (isset($_POST["idambito"])) $idambito=$_POST["idambito"]; |
---|
25 | if (isset($_POST["comando"])) $comando=$_POST["comando"]; |
---|
26 | if (isset($_POST["sw"])) $sw=$_POST["sw"]; |
---|
27 | //________________________________________________________________________________________________________ |
---|
28 | $cmd=CreaComando($cadenaconexion); |
---|
29 | if (!$cmd) |
---|
30 | Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. |
---|
31 | //________________________________________________________________________________________________________ |
---|
32 | switch($sw){ |
---|
33 | case 1: // Envío del código de scrip |
---|
34 | $funcion="nfn=ConsolaRemota".chr(13); |
---|
35 | $atributos="scp=".rawurlencode($comando).chr(13); |
---|
36 | break; |
---|
37 | case 2: // Recupera el archivo de eco |
---|
38 | $funcion="nfn=EcoConsola".chr(13); // Nombre de la función que procesa la petición |
---|
39 | $atributos=chr(13); |
---|
40 | } |
---|
41 | $aplicacion=""; // Ámbito de aplicación (cadena de ipes separadas por ";" y de identificadores de ordenadores por "," |
---|
42 | $acciones=""; // Cadena de identificadores de acciones separadas por ";" para seguimiento |
---|
43 | //________________________________________________________________________________________________________ |
---|
44 | // Ámbito de aplicación de la petición |
---|
45 | //________________________________________________________________________________________________________ |
---|
46 | $cadenaid=""; |
---|
47 | $cadenaip=""; |
---|
48 | $cadenamac=""; |
---|
49 | |
---|
50 | RecopilaIpesMacs($cmd,$ambito,$idambito); // Ámbito de aplicación |
---|
51 | $aplicacion="ido=".$cadenaid.chr(13)."iph=".$cadenaip.chr(13); |
---|
52 | //________________________________________________________________________________________________________ |
---|
53 | // Envio al servidor de la petición |
---|
54 | //________________________________________________________________________________________________________ |
---|
55 | $resul=false; |
---|
56 | $trama=""; |
---|
57 | $shidra=new SockHidra($servidorhidra,$hidraport); |
---|
58 | if ($shidra->conectar()){ // Se ha establecido la conexión con el servidor hidra |
---|
59 | $parametros=$funcion.$aplicacion.$atributos.$acciones; |
---|
60 | $resul=$shidra->envia_peticion($parametros); |
---|
61 | if($resul) |
---|
62 | $trama=$shidra->recibe_respuesta(); |
---|
63 | $shidra->desconectar(); |
---|
64 | } |
---|
65 | if($resul){ |
---|
66 | $hlonprm=hexdec(substr($trama,$LONCABECERA,$LONHEXPRM)); |
---|
67 | $parametros=substr($trama,$LONCABECERA+$LONHEXPRM,$hlonprm); |
---|
68 | $ValorParametros=extrae_parametros($parametros,chr(13),'='); |
---|
69 | switch($sw){ |
---|
70 | case 1: // Envío del código de scrip |
---|
71 | $trama_notificacion=$ValorParametros["res"]; |
---|
72 | echo $trama_notificacion; // Devuelve respuesta |
---|
73 | break; |
---|
74 | case 2: // Recupera el archivo de eco |
---|
75 | $trama_notificacion=$ValorParametros["res"]; |
---|
76 | echo $trama_notificacion; // Devuelve respuesta |
---|
77 | } |
---|
78 | |
---|
79 | } |
---|
80 | |
---|
81 | ?> |
---|