Bienvenidos a este capítulo del Curso de Linux para Hackers – Visualizar Procesos desde la Shell. Comparte este articulo y síguenos para recibir más capítulos y cursos gratis.

Esta guía es parte de un curso mucho más grande en donde te enseñamos a convertirte en hacker de 0 a 100. Desde los conocimientos más básicos hasta conseguir empleo.

En esta guía veremos desde cero un tema tan amplio como es Linux y lo haremos desde el punto de vista del hacking y la ciberseguridad.

Para saber más comente a continuación, respondemos todos y cada uno de los comentarios.

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Conceptos que aprenderás en esta sección:

  1. Significado y función del comando ps: en qué consiste y cómo se diferencia de otras herramientas de monitoreo de procesos.
  2. Uso de opciones comunes en ps: opciones y flags importantes para obtener información específica sobre los procesos.
  3. Uso avanzado del comando ps: cómo ordenar y filtrar procesos usando ps y personalizar las columnas de salida.
  4. Consulta de ayuda y manuales (man) para ps: cómo encontrar información detallada y completa sobre el comando.

El comando PS

Este comando significa “Estado del proceso”. Es similar al “Administrador de tareas” que aparece en una máquina Windows cuando usamos Ctrl+Alt+Del. Este comando es similar al comando “top”, pero la información que se muestra es diferente.

Para comprobar todos los procesos que se ejecutan bajo un usuario, utilice el comando:

 ps -ux

Veamos otro ejemplo:

Para más detalles siempre tienen disponible el man de cada comando, es muy importante acostumbrarse ya que es la mejor fuente de información para las tareas de un Admin. Una opción interesante para usar con ps es el flag -ppid donde le podemos indicar que nos liste todos los procesos que dependen de un determinado PID

El PID 1 es el llamado systemd, que se trata del primer proceso que levanta el kernel en el proceso de arranque del sistema. Otra opción muy útil es la -o con la cual le podemos pasar un listado de columnas que queremos ver sobre los procesos: ps -o ppid,pid,uname,comm –ppid=1

Otra opción muy interesante es la que nos permite ordenar los procesos por diferentes columnas —sort, por ejemplo ordenado por consumo de CPU en orden ascendente (los procesos que tienen mayor consumo abajo):

Lo mismo que antes, pero en orden descendente:

También podemos ordenar por utilización de memoria ―—sort=+pmem

Y por último podemos hacer una combinación de las dos cosas

 ps --help
 ps --help all

También  te recomendamos consultar las páginas man para este comando:

 man ps

Resumen de los puntos clave:

  1. Definición del comando ps
    El comando ps permite ver el “estado de los procesos” activos en el sistema Linux, similar al Administrador de tareas en Windows. Es comparable a top, pero se usa para ver un estado instantáneo de los procesos en vez de una actualización en tiempo real.
  2. Uso de ps para listar procesos de un usuario específico
    Para listar los procesos de un usuario específico, se utiliza ps -ux, que muestra una lista de procesos con detalles como el usuario, el PID, el consumo de recursos y el comando ejecutado.
  3. Consulta de manuales para ps
    Usar man ps o ps --help ayuda a comprender mejor todas las opciones y flags disponibles, siendo una fuente clave para profundizar en el uso de ps y personalizar la vista de los procesos.
  4. Uso del flag -ppid para listar procesos secundarios
    Con ps -ppid <PID>, podemos listar todos los procesos que dependen de un PID determinado, útil para ver subprocesos creados por un proceso principal.
  5. Ejemplo de proceso systemd con PID 1
    El PID 1 corresponde a systemd, el primer proceso que se inicia durante el arranque del sistema Linux, el cual actúa como proceso padre para otros procesos del sistema.
  6. Personalización de columnas con -o
    Usando el flag -o, se pueden personalizar las columnas mostradas al listar los procesos, por ejemplo: ps -o ppid,pid,uname,comm --ppid=1 muestra solo las columnas de proceso padre, PID, usuario y nombre del comando para los procesos que dependen de systemd.
  7. Ordenar procesos con el flag --sort
    Con --sort, los procesos pueden ordenarse de diversas maneras, por ejemplo:
    • Orden ascendente de uso de CPU: --sort=+pcpu
    • Orden descendente de uso de CPU: --sort=-pcpu
    • Orden ascendente de uso de memoria: --sort=+pmem Esto permite ver rápidamente cuáles procesos consumen más recursos, simplificando la administración de recursos.
  8. Combinación de opciones para visualización personalizada
    Combinando las opciones de selección de columnas y de ordenación, se pueden crear vistas personalizadas de los procesos, lo que facilita el monitoreo y la gestión de procesos críticos en el sistema.

Pon en práctica lo aprendido

Ahora pon a prueba lo aprendido con estas preguntas y ejercicios.

Preguntas

  1. ¿Qué representa el comando ps en Linux y para qué se utiliza?
  2. ¿En qué se diferencia el comando ps del comando top?
  3. ¿Qué información se puede obtener utilizando el comando ps -ux?
  4. ¿Para qué sirve el flag -ppid en el comando ps y cómo se utiliza?
  5. ¿Qué es el proceso con PID 1 en Linux y cuál es su función?
  6. ¿Cómo se puede personalizar la salida de ps para mostrar solo ciertas columnas?
  7. ¿Cómo ordenar los procesos por consumo de CPU en orden ascendente y descendente usando ps?
  8. ¿Cuál es la diferencia entre ordenar por consumo de CPU y por consumo de memoria en el comando ps?
  9. ¿Cómo se accede a la ayuda completa del comando ps y cuál es su importancia para un administrador?
  10. ¿Qué comando se puede utilizar para ver todos los procesos de un usuario específico?

Ejercicios

  1. Describa cómo utilizar el comando ps para listar todos los procesos que ejecuta un usuario específico en Linux.
  2. Ejecute el comando ps -ux en su sistema y explique la información que se muestra en cada columna.
  3. Utilice ps -ppid para listar todos los procesos que dependen del PID 1. Describa brevemente el propósito de estos procesos.
  4. Cree un comando ps que solo muestre las columnas ppid, pid, uname, y comm para los procesos que dependen del proceso con PID 1.
  5. Ordene los procesos por el uso de CPU en orden ascendente y luego en descendente. Explique los cambios en la lista de resultados.
  6. Ordene los procesos de acuerdo con el uso de memoria física (%mem) y analice los tres procesos con mayor consumo.
  7. Ejecute ps -o pid,ppid,comm --sort=+pmem y observe los resultados. Identifique qué procesos consumen más memoria.
  8. Explique qué importancia tiene el proceso systemd y cómo se identifica en la salida de ps.
  9. Use ps --help all y liste tres opciones avanzadas que se pueden usar en el comando ps.
  10. Investigue en el manual de ps (man ps) una opción adicional y explique su función y cómo se usaría.

Respuestas a las Preguntas

  1. Comando ps en Linux: Significa “Estado del proceso” y se usa para listar información sobre los procesos en ejecución en el sistema.
  2. Diferencia entre ps y top: ps muestra una instantánea de los procesos en un momento dado, mientras que top proporciona una vista en tiempo real.
  3. Información de ps -ux: Muestra todos los procesos que están siendo ejecutados bajo un usuario, incluyendo PID, uso de CPU, memoria y el comando.
  4. Flag -ppid en ps: Permite listar todos los procesos que dependen de un PID específico.
  5. Proceso PID 1: Conocido como systemd, es el primer proceso iniciado por el kernel durante el arranque y administra otros procesos.
  6. Personalizar columnas en ps: El flag -o permite especificar qué columnas mostrar, como ppid, pid, uname, y comm.
  7. Ordenar por consumo de CPU: Usando --sort, se puede ordenar en orden ascendente (--sort=+%cpu) o descendente (--sort=-%cpu).
  8. Diferencia en ordenamientos de CPU y memoria: Ordenar por %cpu lista los procesos según su uso de CPU, mientras que %mem lo hace por el uso de memoria.
  9. Acceder a la ayuda completa de ps: Usando ps --help all o man ps, esencial para conocer todas las opciones avanzadas de ps.
  10. Listar procesos de un usuario específico: El comando ps -ux permite ver los procesos de un usuario determinado.

Respuestas a los Ejercicios

  1. Listar procesos de un usuario específico: Usando ps -ux, donde x es el nombre del usuario, se puede ver todos sus procesos.
  2. Explicación de ps -ux: Este comando muestra columnas como PID, uso de CPU y memoria, tiempo de ejecución y el comando ejecutado.
  3. Uso de ps -ppid para procesos con PID 1: ps -ppid 1 lista todos los procesos hijos de systemd, los cuales son esenciales para iniciar otros servicios.
  4. Mostrar columnas específicas: Usando ps -o ppid,pid,uname,comm --ppid=1 se obtiene solo las columnas solicitadas para los procesos hijos de systemd.
  5. Ordenar por uso de CPU ascendente y descendente:
    • Ascendente: ps --sort=+%cpu
    • Descendente: ps --sort=-%cpu Esto muestra primero los procesos que usan menos y más CPU, respectivamente.
  6. Ordenar por memoria física: ps --sort=-%mem muestra primero los procesos con mayor consumo de memoria. Los primeros tres procesos suelen ser servicios esenciales o aplicaciones abiertas.
  7. Ejercicio con ps -o pid,ppid,comm --sort=+pmem: Muestra los procesos de menor a mayor uso de memoria.
  8. Importancia de systemd: Es el primer proceso lanzado por el kernel y controla todos los procesos esenciales del sistema.
  9. Opciones avanzadas de ps --help all:
    • -A: Muestra todos los procesos en el sistema.
    • -f: Muestra una lista completa y detallada de los procesos.
    • -e: Similar a -A pero con una salida de formato distinto.
  10. Opción del manual ps: La opción -l muestra una lista larga con información extendida, útil para depurar y analizar procesos en detalle.

No te detengas, sigue avanzando

Aquí tienes un propósito que debes considerar seriamente: si has querido mejorar tus habilidades en hacking, Ciberseguridad y programación ahora es definitivamente el momento de dar el siguiente paso. ¡Desarrolla tus habilidades aprovechando nuestros cursos a un precio increíble y avanza en tu carrera! El mundo necesita más hackers…

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Sobre los autores

Álvaro Chirou

Yo soy Álvaro Chirou, tengo más de 20 Años de experiencia trabajando en Tecnología, eh dado disertaciones en eventos internacionales como OWASP, tengo más de 1.800.000 estudiantes en Udemy y 100 formaciones profesionales impartidas en la misma. Puedes seguirme en mis redes:

Laprovittera Carlos

Soy Laprovittera Carlos. Con más de 20 años de experiencia en IT brindo Educación y Consultoría en Seguridad de la Información para profesionales, bancos y empresas. Puedes saber más de mi y de mis servicios en mi sitio web: laprovittera.com y seguirme en mis redes:

Hacker de 0 a 100 desde las bases hasta conseguir empleo

¿Quieres iniciarte en hacking y ciberseguridad pero no sabes por dónde empezar? Inicia leyendo nuestra guia gratuita: https://achirou.com/hacker-de-0-a-100-desde-las-bases-hasta-conseguir-empleo/ que te lleva de 0 a 100. Desde los fundamentos más básicos, pasando por cursos, recursos y certificaciones hasta cómo obtener tu primer empleo.

Hemos creado una ruta de 0 a 100. Un plan de desarrollo que va desde las bases: cómo aprender hacking, qué aprender, en qué orden; pasando por las areas técnicas necesarias como Linux, Redes, Programación y los conocimientos necesarios en ciber seguridad, hacking, pentesting hasta la práctica y el inicio laboral: Crear tu propio laboratorio, certificaciones, adquirir experiencia e iniciarse laboralmente.

Este es un mega post. Una guía con más de 250 artículos que te llevaran por el camino del hacker. Esta guía es gratuita y esta creada gracias al esfuerzo y al trabajo combinado de Alvaro Chirou y mío (Laprovittera Carlos).

Creamos esta guía (futuro curso) para que puedas iniciarte en este mundo. Puedes arrancar ahora, GRATIS, solo necesitas un PC, conexión a internet y paciencia (Ser hacker NO ES un camino de la noche a la mañana).

El Hacking y la ciberseguridad es una carrera divertida, emocionante y gratificante que te recompensará y desafiará por igual. Sin embargo, para quienes buscan adentrarse en este campo en auge y en constante evolución, puede resultar difícil saber por dónde empezar. ¡Ahí es donde entra en juego nuestra guía en ciberseguridad!

Esta es la hoja de ruta hacia el trabajo de ciberseguridad de tus sueños. Te ayudará a entender qué conocimientos, habilidades y certificados son necesarios para alcanzar tus metas profesionales y tener una carrera próspera. Si quieres ser consultor de ciberseguridad, analista de malware, evaluador de penetración, analista de SOC o cualquier otro puesto de ciberseguridad, esta guía es lo que necesitas.

SIGUE APRENDIENDO GRATIS CON NUESTRAS GUIAS

Aprende con nuestros más de 100 cursos que tenemos disponibles para vos

Compartimos estos recursos para ayudar a la comunidad de hacking y ciberseguridad. COMPARTE y Siéntete libre de agregar más sugerencias en los comentarios a continuación, respondemos todos y cada uno de los comentarios.

Saludos amigos y happy hacking!!!