• Lunes 18 de Noviembre de 2024, 07:31

Autor Tema:  Ping Y -w  (Leído 3364 veces)

arielb

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Ping Y -w
« en: Martes 24 de Octubre de 2006, 21:40 »
0
Se han encontrado que al hacer un ping con -w no sea consistente. es decir si coloco -w 1 a veces lo hace uno y aveces hace dos  :blink:

tambien lo he hecho asi
  ping 1.2.3 -w 2 > archivo.txt
 y a veces lo da 2 veces y aveces 3

y al hacer esto
Citar
cat archivo.txt | grep "2 received"
me da problemas
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Ping Y -w
« Respuesta #1 en: Martes 24 de Octubre de 2006, 21:55 »
0
Como yo lo haria en Perl....
Si quieres te pongo un codigo pequeño para hacer lo que quieres.
 :hola:
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

arielb

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Re: Ping Y -w
« Respuesta #2 en: Martes 24 de Octubre de 2006, 22:04 »
0
Bueno realmente lo que hice fue agregarle un OR( || ) y ya no me da problema si varia.
pero me deja con la duda, porque hace eso.
Lo que estoy haciendo es creando dos listados de un grupo de maquinas que estan en linea y las que no, y ya lo hace.
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Ping Y -w
« Respuesta #3 en: Martes 24 de Octubre de 2006, 22:35 »
0
Bueno...
En Perl era facil, si tener que usar comandos ni nada de eso, hace rato tambien hice algo parecido y un robot que chequeava links rotos en paginas y relamete creo que sh/bash/ksh/csh/ash no es para este trabajo pero como ya lo lograste.
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

arielb

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Re: Ping Y -w
« Respuesta #4 en: Miércoles 25 de Octubre de 2006, 00:12 »
0
Bueno es para algo que estoy haciendo en java para quitarme un poco el trabajo de andar maquina por maquina para actualizar aplicaciones. y claro no estar esperando que los programadores hagan algo para eso porque si no .......................

Bueno en java ejecuto el shell
Código: Text
  1. void Ejecuta(String pNombre){
  2.     //Ejecutar los shell creados
  3.     try{
  4.       Runtime oSh = Runtime.getRuntime();
  5.       Process p = oSh.exec(pNombre);
  6.       p.waitFor();
  7.      
  8.     }catch(IOException vEr){
  9.       System.out.println("Error durante la ejecucion "+vEr);
  10.     }catch(InterruptedException vE12){
  11.       System.out.println("Ejecucion de archivo Afectada.. " +
  12.           "Error; "+ vE12);
  13.     }
  14.     }
  15.  

y el shell me deja dos listados uno de las maquinas que est'an en linea y otro de las que no estan.
Luego los que estan en linea los empiezo a procesar con java.
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Ping Y -w
« Respuesta #5 en: Miércoles 25 de Octubre de 2006, 00:51 »
0
No se, pero yo habria hecho todo en Perl, al menos en un mismo lenguaje, un mismo programa para hacer todo mas facil, pero si te funciona asi, ¡¡Perfecto!!
En Perl se podia hacer el ping de dos formas (las mas faciles) sin ejecutar nada:
Usar el modulo Net::Ping o hacer una pequeña coneccion con Socket tal como Net::Ping lo hace solo para ver si esta o no vivo, despues se hace resto...
Lo que no entiendo es como vas a actualizar y para que el ping, supongo que le haces ping a los servers que contienen los programas/datos para actualizar
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

arielb

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Re: Ping Y -w
« Respuesta #6 en: Miércoles 25 de Octubre de 2006, 15:24 »
0
Bueno mira hago el ping porque he visto en algunas aplicaciones que cuando estan tratando de conectarse (por decirlo asi) a una maquina que este fuera de linea demora mucho en eso. Por eso pense en hacerlo asi por ping para saber cuales estaban y procesar las que estan en linea.
Para actualizarla pense hacerlo como un launcher, desde la maquina donde esta linux o la aplicacion de java colocarlo en un directorio que estara compartido en la otra maquina(win). Luego en la maquina donde esta la aplicacion (exe) en el escritorio el acceso directo de la aplicacion ,en ves de estar apuntando al exe apuntara a un .bat, ese .bat revisara si en el directorio hay algo para el y si hay lo actualiza al directorio y lo ejecuta. y para el usuario debe ser transparente osea no darse cuenta al menos que se le envie un correo al actualizarlo.
Hablando de Perl, no conozco como se maneja ni tampoco lo he visto, voy a descargarlo para verlo.
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Ping Y -w
« Respuesta #7 en: Miércoles 25 de Octubre de 2006, 22:48 »
0
Cita de: "juez"
Bueno mira hago el ping porque he visto en algunas aplicaciones que cuando estan tratando de conectarse (por decirlo asi) a una maquina que este fuera de linea demora mucho en eso
No, realmente no, de hecho asi funciona el comando ping es solo que tambien imprime los paquetes de entrada.
Cita de: "juez"
Para actualizarla pense hacerlo como un launcher, desde la maquina donde esta linux o la aplicacion de java colocarlo en un directorio que estara compartido en la otra maquina(win). Luego en la maquina donde esta la aplicacion (exe) en el escritorio el acceso directo de la aplicacion ,en ves de estar apuntando al exe apuntara a un .bat, ese .bat revisara si en el directorio hay algo para el y si hay lo actualiza al directorio y lo ejecuta.
Huuy! muy complicado, por eso me gusta Perl, totalmente multiplataforma, bueno casi  :D
Hay algo que no entiendo, la actualizacion es de programas?
Porque no usar un FTP automatico o un HTPP?
Haci no habria que hacer ping...
Lo idela seria hacer un programa para las dos plataformas, asi no habria que hacer tanta cosa.
Cita de: "juez"
Hablando de Perl, no conozco como se maneja ni tampoco lo he visto, voy a descargarlo para verlo.
Si estas en GNU/Linux o cualquier UNIX no hay porque, Windows es el unico OS para estacion que no lo trae.

El codigo puede ser muy sencillo pero no se como es eso de actualizacion, lo del ping es facil el resto depende, incluso en Perl hay herramientas para trabajar los makefiles, hay que recordar que Perl tiene muchos propocitos y la administracion es una de estos, aunque Java bien puede con el trabajo, supongo que por tiempo decides hacerlo por el comando ping pero creo que todo hecho desde el codigo seria mas viable y justo pero es solo una opinion.
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

arielb

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Re: Ping Y -w
« Respuesta #8 en: Jueves 26 de Octubre de 2006, 21:11 »
0
Citar
Hay algo que no entiendo, la actualizacion es de programas?
Porque no usar un FTP automatico o un HTPP?

Bueno lo que pasa hay algo que le llaman "jefe", no quiere que utilizen ftp para eso la verdad  no se porque no quiere eso, pero si no se deciden yo me canse de esperar y andar de maquina en maquina  :angry:  y tome la decicion de hacer eso y a la ves estoy practicando a algo que me gusta mucho (programacion), ya que laboralmente no soy programador.
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Ping Y -w
« Respuesta #9 en: Jueves 26 de Octubre de 2006, 21:21 »
0
Cita de: "juez"
Citar
Hay algo que no entiendo, la actualizacion es de programas?
Porque no usar un FTP automatico o un HTPP?

Bueno lo que pasa hay algo que le llaman "jefe", no quiere que utilizen ftp para eso la verdad  no se porque no quiere eso, pero si no se deciden yo me canse de esperar y andar de maquina en maquina  :angry:  y tome la decicion de hacer eso y a la ves estoy practicando a algo que me gusta mucho (programacion), ya que laboralmente no soy programador.
Ok, creo que seria mejor SFTP o algo como kerberos.
Aun no entiendo ¿Que tienes que actualizar, el sistema o una base de datos?
Creo que hay una manera mas facil de hacer tal cosa, lo mejor seria hacerlo por un protocolo hecho para esto solo habria que hacer un robot para comprobar la version (Eso souna mas mal de lo que realmente es) y el resto es pan comido.
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.

arielb

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Re: Ping Y -w
« Respuesta #10 en: Jueves 26 de Octubre de 2006, 21:27 »
0
son programas, existe un grupo de programadores que trabaja en el desarrollo y la nueva version que tiene cambios según lo solicitado por el usuario o corregido hay que actualizarlo.
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Ping Y -w
« Respuesta #11 en: Jueves 26 de Octubre de 2006, 21:49 »
0
Bueno en ese caso todo cambia.
Bien en Perl el ping se programaria hasi:
Código: Text
  1. #!/usr/bin/env perl
  2. use strict;
  3. use Socket;
  4. sub Ping {
  5.   my $ip = shift;
  6.   my $proto = getprotobyname('tcp'); #Este es el protocolo, obvio
  7.   socket(Socket_Handle, AF_INET, SOCK_STREAM, $proto);
  8.   my $port = getservbyname("pueto", "tcp");
  9.   my $sin  = sockaddr_in($port, inet_aton("$ip"));
  10.   if(connect(Socket_Handle, $sin)){
  11.    return "En linea";
  12.   }
  13.   else {
  14.    return "$ip muerto";
  15.   }
  16.   close Socket_Handle;
  17. }
  18. sub HacerSync {
  19.   print "Aqui seria el codigo para hacer la actualizacion\n";
  20.   print "El problema es que no se como lo quieres hacer\n";
  21. }
  22. oepn FL, "Archivo_con_ips.txt" or die "Problemas con el archivo: $!\n";
  23.   foreach my $ip (<FL>){
  24.     print "Mirando ip $ip\n";
  25.     my $return = Ping($ip);
  26.     if($return eq "En linea"){
  27.       HacerSybc();
  28.     }
  29.    else { print "$return\n"; }
  30.   }
  31. close FL;
  32.  
  33.  
Bueno era algo como eso  :smartass:
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.