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

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: 1 2 [3] 4 5 6 7 8
21  Programación / Scripting / Re: Batch para guardar un registro de cada ping realizado con la hora en una linea en: 25 Enero 2019, 10:27 am
Funciona a la perfeccion. Que monton de cosas tiene el Batch que no se. He visto que hay buenos tutoriales aquí. Cuando pueda les dare un repaso.

Eres un crack! Muchas gracias!
 ;-)

Así queda el programa completo


Código
  1. @echo off
  2. REM Curiosamente si meto el formato de fecha y hora como en la siguiente linea, luego no se repite el loop
  3. rem set datetimef=%date:~-4%_%date:~3,2%_%date:~0,2%__%time:~0,2%_%time:~3,2%_%time:~6,2%
  4.  
  5. REM damos formato a la fecha y la hora y lo guardamos en cada variable
  6. set Any=%Date:~-4%
  7. set Mes=%Date:~3,2%
  8. set Dia=%Date:~0,2%
  9.  
  10. set Hor=%Time:~0,2%
  11. set Min=%Time:~3,2%
  12. set Seg=%Time:~6,2%
  13.  
  14. REM Creamos el archivo cada vez que se ejecuta el programa con la fecha y hora en el nombre y la primera linea
  15. set nombre=%Any%-%Mes%-%Dia%__%Hor%-%Min%-%Seg%
  16. echo %nombre% >%nombre%.txt
  17.  
  18. REM Hacemos ping y lo añadimos poniendo la fecha delante linea a linea
  19.  
  20. :LOOPSTART
  21.  
  22.    (
  23.      FOR /L %%i in (1,1,1) do (
  24.        <nul (set /p tm=%date% %time:~,-3% )
  25.        PING -n 1 8.8.8.8 | FIND "TTL"
  26.        IF ERRORLEVEL 1 ECHO Error, Tiempo de espera agotado. No se ha podido conectar con la IP.
  27.      )
  28.    ) >> %nombre%.txt
  29.  
  30. REM tiempo que queremos que pase entre ping y ping en segundos
  31. timeout 1 > NUL
  32.  
  33. GOTO LOOPSTART
  34.  

Y así el archivo que crea


Código
  1. 25/01/2019 10:50:26 Respuesta desde 8.8.8.8: bytes=32 tiempo=16ms TTL=119
  2. 25/01/2019 10:50:28 Respuesta desde 8.8.8.8: bytes=32 tiempo=14ms TTL=119
  3. 25/01/2019 10:50:30 Respuesta desde 8.8.8.8: bytes=32 tiempo=14ms TTL=119
  4. 25/01/2019 10:50:32 Error, Tiempo de espera agotado. No se ha podido conectar con la IP.
  5. 25/01/2019 10:50:41 Error, Tiempo de espera agotado. No se ha podido conectar con la IP.
  6. 25/01/2019 10:50:43 Error, Tiempo de espera agotado. No se ha podido conectar con la IP.
  7. 25/01/2019 10:50:45 Respuesta desde 8.8.8.8: bytes=32 tiempo=14ms TTL=119
  8. 25/01/2019 10:50:47 Respuesta desde 8.8.8.8: bytes=32 tiempo=14ms TTL=119
  9. 25/01/2019 10:50:49 Respuesta desde 8.8.8.8: bytes=32 tiempo=17ms TTL=119
  10. 25/01/2019 10:50:51 Respuesta desde 8.8.8.8: bytes=32 tiempo=14ms TTL=119

22  Programación / Scripting / Re: Batch para guardar un registro de cada ping realizado con la hora en una linea en: 24 Enero 2019, 13:42 pm
Efectivamente probando a cortar la conexion a la primera he obtenido el resultado predecible. Ha habido una anotacion de solo la hora y sin salto de linea:

Devuelve:
Código
  1. 2019-01-24__13-36-14
  2. 24/01/2019 13:36:17 Respuesta desde 192.168.1.4: bytes=32 tiempo<1m TTL=128
  3. 24/01/2019 13:36:18 Respuesta desde 192.168.1.4: bytes=32 tiempo<1m TTL=128
  4. 24/01/2019 13:36:19 Respuesta desde 192.168.1.4: bytes=32 tiempo<1m TTL=128
  5. 24/01/2019 13:36:20 Respuesta desde 192.168.1.4: bytes=32 tiempo<1m TTL=128
  6. 24/01/2019 13:36:21 24/01/2019 13:36:22 PING: error en la transmisi¢n. Error general.
  7. 24/01/2019 13:36:23 PING: error en la transmisi¢n. Error general.
  8. 24/01/2019 13:36:24 PING: error en la transmisi¢n. Error general.
  9. 24/01/2019 13:36:25 PING: error en la transmisi¢n. Error general.
  10. 24/01/2019 13:36:32 PING: error en la transmisi¢n. Error general.
  11. 24/01/2019 13:36:33 PING: error en la transmisi¢n. Error general.
  12. 24/01/2019 13:36:34 PING: error en la transmisi¢n. Error general.
  13. 24/01/2019 13:36:35 Respuesta desde 192.168.1.4: bytes=32 tiempo<1m TTL=128
  14. 24/01/2019 13:36:36 Respuesta desde 192.168.1.4: bytes=32 tiempo<1m TTL=128
  15. 24/01/2019 13:36:37 Respuesta desde 192.168.1.4: bytes=32 tiempo<1m TTL=128
  16. 24/01/2019 13:36:38 Respuesta desde 192.168.1.4: bytes=32 tiempo<1m TTL=128

A ver si encuentro la manera de hacerlo con un solo ping y que guarde en cada linea el resultado, aun cuando haya error.
23  Programación / Scripting / Re: Batch para guardar un registro de cada ping realizado con la hora en una linea en: 24 Enero 2019, 13:34 pm
Genial!!

Muchisimas gracias.

Va perfecto. Ahi lo mando tal como ha quedado implementado al codigo para hacer un archivo por dia, que se cargue al iniciar windows y que quede guardado al cerrar windows.

Código
  1. @echo off
  2. rem set datetimef=%date:~-4%_%date:~3,2%_%date:~0,2%__%time:~0,2%_%time:~3,2%_%time:~6,2%
  3. set Any=%Date:~-4%
  4. set Mes=%Date:~3,2%
  5. set Dia=%Date:~0,2%
  6.  
  7. set Hor=%Time:~0,2%
  8. set Min=%Time:~3,2%
  9. set Seg=%Time:~6,2%
  10.  
  11. REM Creamos el archivo cada vez que se ejecuta el programa con la fecha y hora en el nombre y la primera linea
  12. set nombre=%Any%-%Mes%-%Dia%__%Hor%-%Min%-%Seg%
  13. echo %nombre% >%nombre%.txt
  14.  
  15. REM Hacemos ping y lo añadimos poniendo la fecha delante linea a linea
  16.  
  17. :LOOPSTART
  18.  
  19.    (
  20.      FOR /L %%i in (1,1,1) do (
  21.        <nul (set /p tm=%date% %time:~,-3% )
  22.        PING -n 1 8.8.8.8 | FIND "TTL"
  23.        PING -n 1 8.8.8.8 | FIND "error"
  24.      )
  25.    ) >> %nombre%.txt
  26.  
  27. rem set Respuesta=ping 192.168.1.4
  28.  
  29. REM tiempo que queremos que pase entre ping y ping en segundos
  30. timeout 1 > NUL
  31.  
  32. GOTO LOOPSTART
  33.  



He añadido un segundo ping para que cuando haya un error lo indique y haya salto de linea. Claro que si falla de manera muy puntual el primero podria no anotar nada y al hacer el segundo obtener respuesta y no anotar nada tampoco.

El problema cuando no anota nada es que no cambia de linea dando este resultado que aunque muy util es poco elegante

Código
  1. 24/01/2019 13:11:44 Respuesta desde 192.168.1.4: bytes=32 tiempo<1m TTL=128
  2. 24/01/2019 13:11:46 Respuesta desde 192.168.1.4: bytes=32 tiempo<1m TTL=128
  3. 24/01/2019 13:11:48 24/01/2019 13:11:50 24/01/2019 13:11:52 24/01/2019 13:11:54 24/01/2019 13:11:56 24/01/2019 13:11:58 24/01/2019 13:12:00 Respuesta desde 192.168.1.4: bytes=32 tiempo<1m TTL=128
  4. 24/01/2019 13:12:02 Respuesta desde 192.168.1.4: bytes=32 tiempo<1m TTL=128
24  Programación / Scripting / Re: Batch para guardar un registro de cada ping realizado con la hora en una linea en: 22 Enero 2019, 14:07 pm
Gracias. Aunque eso no guarda en una linea la información veo cosas interesantes.

Si alguien entiende como lo hace el del primer ejemplo igual se podia implementar

El resultado que consigo es:
Citar
Foro el hacker.NET

 [22/01/2019]-[12:41:43]



Haciendo ping a 127.0.0.1 con 32 bytes de datos:
Respuesta desde 127.0.0.1: bytes=32 tiempo<1m TTL=128

Estad¡sticas de ping para 127.0.0.1:
    Paquetes: enviados = 1, recibidos = 1, perdidos = 0
    (0% perdidos),
Tiempos aproximados de ida y vuelta en milisegundos:
    M¡nimo = 0ms, M ximo = 0ms, Media = 0ms



----------------------------------------------------------------------------------------------

 [22/01/2019]-[12:41:43]



Haciendo ping a 127.0.0.1 con 32 bytes de datos:
Respuesta desde 127.0.0.1: bytes=32 tiempo<1m TTL=128

Estad¡sticas de ping para 127.0.0.1:
    Paquetes: enviados = 1, recibidos = 1, perdidos = 0
    (0% perdidos),
Tiempos aproximados de ida y vuelta en milisegundos:
    M¡nimo = 0ms, M ximo = 0ms, Media = 0ms

Y lo deseado es:
Citar
26/10/2009 13:53:54.31 "Respuesta desde 127.0.0.1: bytes=32 tiempo<1m TTL=128"
26/10/2009 13:53:54.31 "Respuesta desde 127.0.0.1: bytes=32 tiempo<1m TTL=128"
26/10/2009 13:53:54.31 "Respuesta desde 127.0.0.1: bytes=32 tiempo<1m TTL=128"
26/10/2009 13:53:54.31 "Respuesta desde 127.0.0.1: bytes=32 tiempo<1m TTL=128"
26/10/2009 13:53:54.32 "Respuesta desde 127.0.0.1: bytes=32 tiempo<1m TTL=128"
26/10/2009 13:53:54.32 "Respuesta desde 127.0.0.1: bytes=32 tiempo<1m TTL=128"
26/10/2009 13:53:54.32 "Respuesta desde 127.0.0.1: bytes=32 tiempo<1m TTL=128"
26/10/2009 13:53:54.34 "Respuesta desde 127.0.0.1: bytes=32 tiempo<1m TTL=128"
26/10/2009 13:53:54.34 "Respuesta desde 127.0.0.1: bytes=32 tiempo<1m TTL=128"
26/10/2009 13:53:54.34 "Respuesta desde 127.0.0.1: bytes=32 tiempo<1m TTL=128"
26/10/2009 13:53:54.34 "Respuesta desde 127.0.0.1: bytes=32 tiempo<1m TTL=128"
26/10/2009 13:53:54.35 "Respuesta desde 127.0.0.1: bytes=32 tiempo<1m TTL=128"
26/10/2009 13:53:54.35 "Respuesta desde 127.0.0.1: bytes=32 tiempo<1m TTL=128"
26/10/2009 13:53:54.35 "Respuesta desde 127.0.0.1: bytes=32 tiempo<1m TTL=128"

Aunque ahora estoy viendo que tampoco me fucniona el codigo del primer ejemplo. No crea ningun archivo  :o

Bueno, pues ese es el resultado que me gustaria conseguir.

Quisiera ademas evitar tener que estar generando un archivo a cada ping para tomar de ahi el resultado.
25  Programación / Scripting / Batch para guardar un registro de cada ping realizado con la hora en una linea en: 21 Enero 2019, 10:46 am
He encontrado una manera de guardar en cada linea la hora del ping y el resultado.

Código
  1. @echo off
  2.  
  3. for /F "delims=" %%i in ('ping 127.0.0.1 -t') do call :format "%%i"
  4. goto :done
  5.  
  6. :format
  7. echo %date% %time% %1 1>> output.txt
  8.  
  9. :done

De esta forma se guarda todo en una linea en un archivo de texto, pero hay que depender de que el usuario le de a Ctrl+C y a S.
Tengo otro codigo en el que se va guardando en tiempo real, asi aunque se apague el equipo o se cierre directamente la ventana el archivo tiene todo el registro.

Ademas hago que cada dia cree un archivo nuevo con la fecha y hora, ya que hay que dejarlo todo el dia corriendo.

Código
  1. rem @echo off
  2.  
  3. set Any=%Date:~-4%
  4. set Mes=%Date:~3,2%
  5. set Dia=%Date:~0,2%
  6.  
  7. set Hor=%Time:~0,2%
  8. set Min=%Time:~3,2%
  9. set Seg=%Time:~6,2%
  10.  
  11. REM Creamos el archivo cada vez que se ejecuta el programa con la fecha y hora en el nombre y la primera linea
  12. set nombre=%Any%-%Mes%-%Dia%__%Hor%-%Min%-%Seg%
  13. echo %nombre% >%nombre%.txt
  14.  
  15. REM Hacemos ping y lo añadimos poniendo la fecha delante linea a linea
  16.  
  17. :LOOPSTART
  18.  
  19. set Any=%Date:~8%
  20. set Mes=%Date:~3,2%
  21. set Dia=%Date:~0,2%
  22.  
  23. set Hor=%Time:~0,2%
  24. set Min=%Time:~3,2%
  25. set Seg=%Time:~6,2%
  26.  
  27. rem set Respuesta=ping 192.168.1.4
  28. echo %Any%-%Mes%-%Dia%__%Hor%-%Min%-%Seg% >>%nombre%.txt
  29. ping 8.8.8.8 -n 1 >>%nombre%.txt
  30.  
  31. REM tiempo que queremos que pase entre ping y ping en segundos
  32. timeout 2 > NUL
  33.  
  34. GOTO LOOPSTART
  35.  

Lo que no consigo es que me meta cada ping con su hora en una linea. He mirado la documentacion del for, pero lo empleado en el primer ejemplo, que si que guarda cada ping en una linea, tiene bastantes cosas mas que no entiendo. ¿Hay forma de combinar los dos ejemplos de algun modo para meta cada linea en tiempo real?

26  Programación / Programación General / Crear un filtro para ver las conexiones de un usuario en el visor de eventos en: 8 Octubre 2018, 15:18 pm
Hola,

Tengo este xml generado en el visor de eventos, quiero filtrar por el campo user dentro de UserData y quiero ver solo los apuntes de un usuario en concreto.

Código:
- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
  <Provider Name="Microsoft-Windows-TerminalServices-LocalSessionManager" Guid="{5D896912-022D-40AA-A3A8-4FA5515C76D7}" />
  <EventID>24</EventID>
  <Version>0</Version>
  <Level>4</Level>
  <Task>0</Task>
  <Opcode>0</Opcode>
  <Keywords>0x1000000000000000</Keywords>
  <TimeCreated SystemTime="2018-10-05T11:45:56.876545400Z" />
  <EventRecordID>850</EventRecordID>
  <Correlation ActivityID="{61A55000-55E5-1017-0000-000000000000}" />
  <Execution ProcessID="844" ThreadID="10276" />
  <Channel>Microsoft-Windows-TerminalServices-LocalSessionManager/Operational</Channel>
  <Computer>Salon</Computer>
  <Security UserID="S-1-5-18" />
  </System>
- <UserData>
- <EventXML xmlns="Event_NS">
  <User>EQUIPO\User1</User>
  <SessionID>7</SessionID>
  <Address>LOCAL</Address>
  </EventXML>
  </UserData>
  </Event>

Filtro por el id de evento, eso lo ha generado el visor y va bien. Luego añado la linea de UserData. No doy con la forma adecuada de hacerlo siguiendo la poca documentacion que he encontrado. Cuando aplico este filtro no da error pero no aparece ninguna entrada, tampoco las del usuario User1.

Código:
<QueryList>
  <Query Id="0" Path="Microsoft-Windows-TerminalServices-LocalSessionManager/Operational">
    <Select Path="Microsoft-Windows-TerminalServices-LocalSessionManager/Operational">
*[System[(EventID=24 or EventID=21)]]
and
*[Event[UserData[EventXML[@xmlns='Event_NS'] and (User='EQUIPO\User1')]]]
</Select>
  </Query>
</QueryList>


Saco la informacion de
https://blogs.technet.microsoft.com/askds/2011/09/26/advanced-xml-filtering-in-the-windows-event-viewer/
y siguiendo los 3 enlaces de esa página pero no veo una situación en la que haya etiquetas dentro de una etiqueta con asignación como la de <EventXML xmlns="Event_NS">
27  Programación / Programación C/C++ / Como poner varios idiomas a nuestros programas en: 17 Febrero 2017, 11:22 am
Estoy probando a poner varios idiomas con poedit ya que he visto que en Codeblocks y usando wxWidgets ya nos sales las cadenas preparadas con el prefijo _(

Por un lado no consigo que poedit extraiga las cadenas. Todos los tutos que he encontrado se refieren a php, wordpress, etc. He seguido este tuto pero no consigo que encuentre ninguna cadena.
http://www.gsy-design.com/how-to-generate-a-pot-file-using-poedit/


Segun la doc de wxWidgets he cambiado el parametro de busqueda pero tampoco:
https://wiki.wxwidgets.org/Internationalization


Por otro lado no encuentro información sobre como integrarlo despues en el codigo. Imagino que no valdrá con que estén los archivos .po en la carpeta correspondiente.

A ver si conociais algun tutorial sobre esto o si me podiais orientar un poco
28  Programación / Programación C/C++ / Re: Llamar a una fucion de evento desde el codigo. Por ej. OnButton1Click en: 15 Febrero 2017, 12:45 pm
Si simplemente lo llamo tal y como he puesto me da este error:

OnBoton1Click();

Código
  1. error: no matching function for call to 'rFactor2LauncherFrame::OnBoton1Click()'|
29  Programación / Programación C/C++ / Llamar a una fucion de evento desde el codigo. Por ej. OnButton1Click en: 15 Febrero 2017, 11:22 am
Uso wxWidgets y CodeBlock. Tengo una funcion de evento creada para un boton y quiero llamarla desde el codigo.

He probado:
Código
  1. aplicationFrame::OnBoton1Click();
  2. // y
  3. OnBoton1Click();
  4. // y poniendo entre parentesis wxEVT_BUTTON
  5. aplicationFrame::OnBoton1Click(wxEVT_BUTTON);
  6.  
  7.  
Como puedo llamar a una funcion de evento creada por el IDE, y ademas de manera recursiva?
30  Programación / Programación C/C++ / Re: Donde hay que declarar las funciones propias que usan controles creados en: 13 Febrero 2017, 13:13 pm
Genial!

Justo lo que necesitaba :)
Páginas: 1 2 [3] 4 5 6 7 8
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines