Hola amigos!
Estoy haciendo una aplicacion para enviar peticiones rsh a mi router y desde modo comando ejecuto la siguiente instruccion:
root@escritorio:~# echo -e "\0cisco-rsh\0cisco-rsh\0sh running-config\0"|nc 192.168.1.5 514
la cual me devuelve lo que le pido(desde consola), pero en cambio si lo ejecuto desde mi aplicacion java :
String comando= "echo -e \"\\0cisco-rsh\\0cisco-rsh\\0show running-config\\0\"|nc 192.168.1.5 514";
Process p;
InputStream i;
try
{
p=Runtime.getRuntime().exec(comando);
i = p.getInputStream();
BufferedReader bf = new BufferedReader(new InputStreamReader (i));
String aux=bf.readLine();
while(aux!=null){
System.out.println(aux);
aux = bf.readLine();
}
En la consola del servidor apache me aparece la siguiente instruccion que no puede ejecutar:
(aviso: donde pone 1 aparece un cuadrado en blanco que será como un caracter que no reconoce java o apache o no se yo...ese será el problema)
"1cisco-rsh1cisco-rsh1show running-config1"|nc 192.168.1.5 514
Con lo que no se porque no traduce bien el caracter \\0 del string 'comando'.
¿Alguna sugerencia?
Un saludo!!