Los componentes esenciales de Python para la automatización por google

Los componentes esenciales de Python para la automatización

A lo largo de este curso, exploraste la codificación en Python. Estudiaste variables, sentencias condicionales, sentencias iterativas, funciones y diversas formas de trabajar con cadenas y listas. En esta lectura, conocerás por qué todos estos son componentes esenciales al automatizar tareas a través de Python, y te presentaremos otro componente necesario: el trabajo con archivos.

Automatización de tareas en Python

La automatización implica el uso de la tecnología para reducir el esfuerzo humano y manual que conlleva realizar tareas comunes y repetitivas. Como analista de seguridad, usarás principalmente Python para automatizar tareas.

En este curso hay muchos ejemplos de cómo usar Python para la automatización, como la investigación de inicios de sesión, la administración de acceso y la actualización de dispositivos.

Para automatizar tareas relacionadas con la ciberseguridad, es necesario comprender los siguientes componentes de Python con los que has trabajado en este curso:

Variables

Una variable es un contenedor que almacena datos. Las variables son esenciales para la automatización. Sin ellas, tendrías que reescribir por separado los valores de cada acción que realizaste en Python.

Sentencias condicionales

Una sentencia condicional evalúa el código para determinar si cumple con un conjunto de condiciones específicas. Además, permite verificar las condiciones antes de realizar acciones. Esto es mucho más eficiente que evaluar manualmente si se debe aplicar una acción a cada uno de los datos.

Sentencias iterativas

Una sentencia iterativa es un código que ejecuta repetidamente un conjunto de instrucciones. Exploraste dos tipos de sentencias iterativas: bucles for y bucles while. Ambas permiten realizar las mismas acciones una cierta cantidad de veces sin la necesidad de volver a escribir el mismo código cada vez. El uso de un bucle for te permite automatizar la repetición de ese código con base en una secuencia, mientras que un bucle while permite automatizar la repetición con base en una condición.

Funciones

Una función es una sección de código que se puede reutilizar en un programa. Las funciones te ayudan a automatizar tus tareas, ya que reducen la necesidad de incorporar el mismo código en varios lugares de un programa. En lugar de hacer eso, puedes definir la función una sola vez y llamarla si la necesitas. 

Además, puedes desarrollar tus propias funciones de acuerdo con tus necesidades particulares. También puedes incorporar las funciones integradas que existen directamente en Python sin necesidad de codificarlas manualmente.

Técnicas para trabajar con cadenas

Las cadenas son uno de los tipos de datos más comunes que encontrarás al automatizar tareas de ciberseguridad a través de Python, y hay muchas técnicas que hacen más eficiente el trabajo con ellas. La notación entre corchetes te permitirá acceder a los caracteres de una cadena a través de sus índices. También puedes usar diversas funciones y métodos al trabajar con cadenas, como str(), len() e .index().

Técnicas para trabajar con listas

Los datos de lista son otro tipo de datos común. Al igual que con las cadenas, la notación entre corchetes te permite acceder a un elemento de la lista a través de su índice. Cuando trabajes con listas, también dispondrás de varios métodos que te ayudarán con la automatización. Estos incluyen .insert(), .remove(), .append() e .index().

Ejemplo: Contar los inicios de sesión realizados por un usuario marcado

Solo a modo de ejemplo, quizás tengas que investigar los inicios de sesión de un usuario específico que se marcó debido a una actividad inusual. Específicamente, eres responsable de contar cuántas veces el usuario inició sesión ese día. Si dispones de una lista que identifica el nombre de usuario asociado a cada intento de inicio de sesión realizado en el día, puedes automatizar esta investigación en Python.

Para hacerlo, deberás incorporar los siguientes componentes de Python:

  • Un bucle for con el que podrás iterar a través de todos los nombres de usuario de la lista. 

  • Dentro del bucle for, debes incorporar una sentencia condicional que examine si cada nombre de usuario de la lista coincide con el nombre de usuario del usuario marcado.

  • Si la condición se evalúa como True, también debes incrementar una variable de contador que realice un seguimiento de la cantidad de veces que el usuario marcado aparece en la lista.

Además, si deseas reutilizar este código varias veces, puedes incorporarlo a una función. La función puede incluir parámetros que acepten el nombre de usuario del usuario marcado y la lista en que se iterará. (Esta contendrá los nombres de usuario asociados con todos los intentos de inicio de sesión realizados ese día). La función puede usar la variable de contador con el fin de devolver la cantidad de inicios de sesión para ese usuario marcado.

Trabajar con archivos en Python

Un componente adicional de la automatización de tareas relacionadas con la ciberseguridad en Python es entender cómo trabajar con archivos. Los datos relacionados con la seguridad suelen encontrarse en los archivos de registro. Un registro (o log) es un inventario de los eventos que se producen en los sistemas de una organización. A los registros se les suelen anexar líneas a medida que pasa el tiempo.

Los dos formatos de archivo comunes para los registros de seguridad son los archivos .txt y los archivos .csv. Tanto los archivos .txt como los .csv son tipos de archivos de texto, lo que significa que solo contienen texto sin formato. No contienen imágenes ni especifican las propiedades gráficas del texto como la fuente, el color o el espaciado. En un archivo .csv, o  de "valores separados por comas", los valores están separados por comas. En un archivo .txt, no hay un formato específico para separar valores, y puede hacerse esto de varias maneras, por ejemplo, mediante espacios.

Los datos se pueden extraer fácilmente de los archivos .txt y .csv. Y también puedes convertirlos en otros formatos de archivo.

Próximamente, aprenderás a importar, leer y escribir en archivos. Además, explorarás cómo estructurar la información contenida en los archivos.

Conclusiones clave

Es importante que los analistas de seguridad puedan automatizar las tareas en Python. Esto requiere conocer sus conceptos fundamentales, como las variables, las sentencias condicionales e iterativas y las técnicas para trabajar con cadenas y listas. Además, la habilidad de trabajar con archivos también resulta esencial para la automatización en Python.

Comentarios

Entradas más populares de este blog

La Importancia de la Selección Genética en la Producción Avícola

Análisis de viabilidad económica y sostenibilidad de la crianza, incubación y alimentación de gallinas ponedoras para un consumo saludable en venta Bogotá, Colombia

Ventajas y Desventajas de los Proyectos Avícolas en el Campo Colombiano