Comandos para debugging en Linux
Comandos para Procesos
ps
Muestra los procesos activos.
top y htop
Top y htop son comandos interesantes para descubrir que procesos están consumiendo tiempo de CPU, el estado en el que están y para ver en general que procesos están activos en el sistema.
Son comandos parecidos a “ps” con la diferencia que “top” es una aplicación que se queda activa y permite manipular o ver los procesos en vivo.
free
Con free podemos ver la memoria libre.
nice y renice
Tanto “nice” como “renice” nos permiten cambiar la prioridad de los procesos. Normalmente los procesos toman la prioridad 0 (mayor prioridad).
Con “nice” podemos arrancar un proceso con una prioridad menor.
Con “renice” podemos reasignarle una prioridad a un proceso.
pidof
“pidof” obtiene el PID de un proceso o procesos por su nombre.
kill
Con “kill” cambiamos el estado del proceso.
strace
Muestra las llamadas a otros procesos desde el proceso que se analiza.
ltrace
Igual que “strace” pero en este caso muestras las llamadas a las librerías
Comandos para ficheros
lsof
Muestra los ficheros abiertos por un proceso
df
Muestra el espacio en disco libre.
du
Muestra el espacio utilizado en disco
locate
Trata de buscar un fichero por su nombre en el disco
Comandos para redes
nc
netcat es quizás una de las herramientas más completas y útiles de linux para el diagnostico y test de redes.
Esta herramienta tan completa no es facil de definir con una sola linea y se merece un artículo para ella sola. Es la llamada navaja suiza de los hackers.
Básicamente su función es abrir sockets y enviar/recibir datos a traves de la red, pero su uso va mucho más allá.
netstat
Muestra todas la conexiones activas.
ab
Otra herramienta interesante. Se trata de apache benchmark. Con ella podemos realizar pruebas de respuesta de nuestros servidores.
tcpdump & wireshark
Imprescindibles también para el debug de redes. Son herramientas para la captura de paquetes de la red y su posterior análisis.
nmap
Otro imprescindible a la hora de chequear el estado de un servidor y sus servicios. Es otra gran herramienta para los hackers.
Permite comprobar el estado de puertos remotos, descubrir servicios y chequear problemas de seguridad.