Grabar / Espiar / Registrar en tiempo real el uso de una terminal en GNU/Linux (strace)
Esta combinación de comandos visualiza todo lo que pasa en una determinada terminal de nuestro sistema en tiempo real, es decir, los comandos que son ejecutados y la salida de los mismos. También permite guardar la salida en un fichero para su posterior análisis.
Buscar el número de proceso, para el ejemplo, la terminal pts/1 tiene un PID 6207.
ps aux | grep -i bash root 6198 0.0 0.0 16268 4180 pts/0 S+ 02:33 0:00 bash busi 6207 0.0 0.0 16620 4460 pts/1 Ss 02:33 0:00 /bin/bash
Ver en tiempo real el uso de una terminal en GNU/linux. (No Passwords)
strace -f -e write=1,2,5 -e read=0 -s 512 -v -p 6207 2>&1 | sed -un "/^ |/p" | sed -ue "s/^.\{9\}\(.\{50\}\).\+/\1/g" -e 's/ //g' | xxd -r -p
Ver en tiempo real el uso de una terminal en GNU/linux y registrar todo en /root/fichero.log. (No Passwords)
strace -f -e write=1,2,5 -e read=0 -s 512 -v -p 6207 2>&1 | sed -un "/^ |/p" | sed -ue "s/^.\{9\}\(.\{50\}\).\+/\1/g" -e 's/ //g' | tee /root/fichero.log | xxd -r -p
Reproducir el registro guardado anteriormente.
cat /root/fichero.log | xxd -r -p
Ver en tiempo real el uso de una terminal en GNU/linux. (Passwords de “su” incluidos)
strace -f -e write=1,2,5 -e read=0 -s 512 -v -p 6207 2>&1 | sed -un "/^ |/p" | sed -ue "s/^.\{9\}\(.\{50\}\).\+/\1/g" -e 's/ //g' | xxd -r -p
NOTA: Los comandos aparecerán con las letras por duplicado.
Ver contenido / Espiar / sacar texto de una TTY en uso.
# tty1 = /dev/vcs1 # tty2 = /dev/vcs2 # tty3 = /dev/vcs3 cat /dev/vcs3 > $HOME/contenido_tty3
Scribery
Proyecto Scribery: http://scribery.github.io/
El proyecto Scribery ofrece una serie de herramientas de código abierto para grabar sesiones de usuario en sistemas GNU/Linux. Permite la exportación en formato json de los datos en tiempo real a sistemas como Elasticsearch.