Underc0de - Hacking y seguridad informática

Sistemas Operativos => GNU/Linux => Mensaje iniciado por: morodog en Enero 03, 2016, 10:54:10 am

Título: Grabar las sesiones de tu terminal en Linux con script.
Publicado por: morodog en Enero 03, 2016, 10:54:10 am
(http://lamiradadelreplicante.com/wp-content/uploads/2015/12/script.jpg)


Script es una utilidad de Unix presente en la mayoría de distribuciones GNU/Linux, que nos permite grabar todas las operaciones ejecutadas en la terminal. Va más allá de lo que ofrece el comando history, ya que también nos proporciona todas las salidas de los diferentes comandos y operaciones que realicemos.

La forma más sencilla de iniciarlo es abrir una terminal y escribir:

Código: [Seleccionar]
script
que automáticamente nos crea un fichero llamado typescript y empieza a grabar el contenido de la sesión, con los diversos comandos que vayamos ejecutando.

Podemos parar esa captura en cualquier momento, haciendo Crlt+D o escribiendo

Código: [Seleccionar]
exit

(http://lamiradadelreplicante.com/wp-content/uploads/2015/12/script2.jpg)


Si no nos gusta ese nombre de typescript o queremos diferenciar entre sesiones le podemos dar otro cualquiera. Por ej:

Código: [Seleccionar]
script registro.txt

Por defecto cada vez que ejecutamos el comando si tenemos un archivo de logs anterior con el mismo nombre lo sobreescribe. Pero tenemos la opción de utilizar el parámetro -a para anexar nuevo contenido a dicho archivo (en este caso, al archivo por defecto typescript) y evitar borrar el viejo.

Código: [Seleccionar]
script -a
Como habréis deducido el archivo resultante lo podemos examinar con cualquier editor de texto (geany, gedit, nano, kate, etc.), pero vamos a ir un poco más allá y ver como examinarlo desde la terminal a la velocidad de ejecución original.

Primero lanzamos el programa, añadiéndole ahora un nuevo elemento: un archivo que nos marca los tiempos de script.

Utilizando el archivo por defecto typescript ejecutaríamos

Código: [Seleccionar]
script -t=tiempo.txt
Si utilizamos un nombre de archivo diferente al predeterminado typescript, quedaría algo así:

Código: [Seleccionar]
script -t=tiempo.txt registro.txt
en cualquiera de los dos caso para finalizar la grabación hacemos Ctrl + D o escribimos:

Código: [Seleccionar]
exit
Ahora llega la parte más divertida, la de reproducir el archivo desde la shell con el comando scriptreplay:

Código: [Seleccionar]
scriptreplay -t=tiempo.txt

(http://lamiradadelreplicante.com/wp-content/uploads/2015/12/script.gif)


De nuevo retomando el ejemplo anterior (registro.txt), si utilizáis un fichero diferente a typescript varía ligeramente la sintaxis:

Código: [Seleccionar]
scriptreplay -t=tiempo.txt registro.txt
Otros programas interesantes a la hora de guardar y reproducir sesiones de terminal –especialmente si os apetece compartir vuestro trabajo– son asciinema o Termrecord, que crean archivos html que se pueden incrustar en páginas web.


FUENTE| miradareplicante.com