elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Script batch para ping
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Script batch para ping  (Leído 21,529 veces)
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Script batch para ping
« Respuesta #10 en: 19 Junio 2013, 20:33 pm »

no quiero criticas sobre mi codigo XD lo hice rapido y a los golpes

Código
  1. #include <Windows.h>
  2. #include <iostream>
  3. #include <string>
  4. #include <ctime>
  5. #include <fstream>
  6. using namespace std;
  7. //aqui la funcion del pipe
  8. string exec(char* cmd) {
  9.    FILE* pipe = popen(cmd, "r");
  10.    if (!pipe) return "ERROR";
  11.    char buffer[128];
  12.    std::string result = "";
  13.    while(!feof(pipe)) {
  14.     if(fgets(buffer, 128, pipe) != NULL)
  15.     result += buffer;
  16.    }
  17.    pclose(pipe);
  18.    return result;
  19. }
  20.  
  21.  
  22.  
  23. int main(int argc, char *argv[])
  24. {
  25.    int tiempo = 1;
  26.    if(argc==3){
  27.        tiempo = atoi(argv[2]);//no captura el "-t" porque en realidad es relleno
  28.    }
  29.   string a = "";
  30.  
  31.   int b = 0, c = 0;
  32.   char bufer[80];
  33.   time_t rawtime;
  34.  
  35.   struct tm * timeinfo;
  36. //saca la direccion del exe, la recorta y le pone ping.txt
  37.   string path =argv[0];
  38.   b = path.find_last_of("/");
  39.   path = path.substr(0,b)+ "/ping.txt";
  40.   const char *sb = path.c_str() ;
  41.  
  42.  
  43.    ofstream myfile;
  44.     while(1){
  45.        a = exec("ping www.google.com -n 1");//abre la llamada
  46.        myfile.open (sb,ios::out|ios::app);
  47.        //captura la hora
  48.        time(&rawtime);
  49.        timeinfo=localtime(&rawtime);
  50.        strftime (bufer,80,"%F %I:%M%p.",timeinfo);
  51.        //arregla el mensaje a mostrar
  52.        b = (INT) a.find_first_of("\n")+1;
  53.        b = (INT) a.find_first_of("\n",b)+1;
  54.        c = (INT) a.find_first_of("\n",b);
  55.        a = a.substr(b,c-b);
  56.        cout << bufer << " - " << a << "\n";//muestra
  57.        myfile << bufer << " - " << a << "\n";//envia a archivo
  58.        myfile.close();//cierra por si el programa tiene un fin inesperado en la espera
  59.        sleep(tiempo);//espera
  60.        }
  61.       return 0;
  62.  
  63. }
  64.  

recomiendo recompilar XD el anterior codigo tiene un error XD solo hace un ping y dice el mimo resultado siempre! sorry!


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Script batch para ping
« Respuesta #11 en: 19 Junio 2013, 20:47 pm »

@EngelX
La intención es de agradecer, pero te recuerdo que estamos en la sección de Scripting, no en C.

Saludos!


En línea



Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Script batch para ping
« Respuesta #12 en: 19 Junio 2013, 21:07 pm »

Aquí tienes mi solución, es muy sencillo:

Código
  1. @echo off
  2.  
  3. Set "URL=www.google.es"
  4. Set "Interval=5" & REM Segundos
  5. set "LogFile=.\Ping.txt"
  6.  
  7. :PingMe
  8. Set /A "Count+=1"
  9. Echo [+] Haciendo Ping [%Count%]
  10.  
  11. (
  12. ping "%URL%" | FINDSTR "perdidos.=.0$"
  13. ) || (
  14. Echo Paquetes perdidos.
  15. Echo %DATE% %TIME% >> "%LogFile%"
  16. )  
  17.  
  18. Ping "LOCALHOST" -n "%Interval%" 1>NUL | MORE
  19. GoTo :PingMe


Output:
Código:
[+] Haciendo Ping [1]
    Paquetes: enviados = 4, recibidos = 4, perdidos = 0

[+] Haciendo Ping [2]
    Paquetes: enviados = 4, recibidos = 4, perdidos = 0

[+] Haciendo Ping [3]
Paquetes perdidos.

Saludos!
« Última modificación: 19 Junio 2013, 21:09 pm por EleKtro H@cker » En línea



terrateck

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Re: Script batch para ping
« Respuesta #13 en: 19 Junio 2013, 22:33 pm »

Gracias a todos
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Script batch para ping
« Respuesta #14 en: 20 Junio 2013, 01:04 am »

@EngelX
La intención es de agradecer, pero te recuerdo que estamos en la sección de Scripting, no en C.

Saludos!
lo se XD solo respondia la peticion de terratek XD

Citar
Gracias engelx. También había pensado hacerlo en C que lo controlo más pero al no ser demasiado complejo pensé que no merecía la pena y esto sería más rápido. De todas formas sería interesante ver como lo implementaste, ¿no tendrás el código por ahí para echarle un vistazo?

disculpa si desvié el tema :P
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
script para insertar valores en un formulario (Batch)
Scripting
Slikp 7 9,046 Último mensaje 19 Diciembre 2013, 23:03 pm
por Slikp
(AYUDA) No me funciona el comando PING dentro de un Script .BAT (BATCH)
Scripting
luchinialexis 2 3,583 Último mensaje 9 Diciembre 2014, 18:42 pm
por Eleкtro
Script Para copiar archos Batch « 1 2 »
Scripting
Guille270 10 6,667 Último mensaje 2 Marzo 2015, 19:36 pm
por Guille270
Batch para guardar un registro de cada ping realizado con la hora en una linea « 1 2 »
Scripting
Nucleorion 12 13,264 Último mensaje 14 Mayo 2019, 10:58 am
por Nucleorion
codigo script para hacer ping en php « 1 2 »
Scripting
condorito 15 23,906 Último mensaje 2 Julio 2022, 14:55 pm
por Danielㅤ
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines