Realizamos en este blog una revisión del lenguaje python por ser uno de los preferidos en seguridad informática, tanto para herramientas, como scripts de ataque y automatización de procesos y fuerza bruta. Es elegido generalmente por ser limpio, potente y con una curva de aprendizaje cómoda.
Además es un lenguaje interpretado y de scripting, es decir que no requiere ser compilado para ejecutarse, esto también lo hace un lenguaje más rápido pues su código es interpretado en tiempo de ejecución.
Python además es multiparadigma, es decir que soporta diversos paradigmas de programación, por ejemplo, soporta la programación orientada a objetos
Ahora entremos en materia, en esta primera parte veremos los siguientes temas:
- Verificar versión
- Instalación de python
- Instalación librería
- tipos y estructuras de datos
- type
- dir
- operadores
- cadenas
- fraccionamiento
- listas
- tuplas
- concatenar
- metodo reverse
- comentarios
- for – método next
- tablas hash
- diccionarios
- exceptaciones
- funciones
- ficheros
- módulos
Se verán desde el punto de vista práctico, con ejemplos, no pretende ser una guía exhaustiva, sino más bien un punto de partida en el lenguaje y su posterior uso en algunos ejercicios relacionados con la seguridad informática.
Versión
Python
para verificar que se encuentra instalado y la version en la que se encuentra la instalación por defecto.
instalar la versión 3 de python
sudo apt-get install python3
Instalar librería
pip install <nombre_paquete>
Tipos y estructuras de datos
Python maneja tipos de datos dinámicos , e decir, el tipo se define en tiempo de ejecución y puede cambiar dependiendo del valor y tipo del mismo que le sea asignado a la variable.
type(<nombre_variable>)
Tipo de las variables en python
los tipos básicos tienen métodos predefinidos que permiten realizar acciones sobre la variable. El comando dir permite listar todas las funciones que podemos ejecutar sobre esa variable u objeto
dir(<variabe>)
Jerarquía de los operadores
Operadores () | Agrupamiento |
** | Exponenciación |
* / // % | Producto, cociente, división entera y módulo |
+,- | suma y resta |
Cuando son de igual jerarquía se procesan de izq a derecha
Cadenas y fraccionamiento
Listas
Las lista se declaran poniendo sus valores entre paréntesis cuadrados ([]) y separados por coma (,)
lista[index]
A las lista se les puede aplicar diferentes métodos para acceder y modificar sus valores
concatenar(+)
Tuplas
Las tuplas son como listas pero no sn modificables, se declaran poniendo sus valores entre paréntesis ()
Método reverse
Iteradores
Para recorrer una lista se utiliza el for.
Método next
Caracteres de escape
\\ | barra invertida \ |
\‘ | comilla simple ‘ |
\” | comilla doble “ |
\n | Nueva linea |
\t | Tabulador |
Comentarios
Diccionarios
Con los dicionarios se pueden asociar valores a claves, como una tabla hash.
Excepciones
Funciones
Ficheros
Módulos
La segunda parte estudiara los elementos de la programación orientada a objetos y la peticion de datos al usuario, entre otros temas básicos.
Este blog esta basado en múltiples lecturas, libros, cursos y otros artículos pero desde mis palabras, dado lo extenso de las fuentes solo dejare algunas de las mas recientes y de donde se ha sacado la mayoría de los conceptos.
- Libro Hacking Ético con herramientas Python, puedes encontrarlo aquí
- Libro Criptografía sin secretos con Python, puedes encontrarlo aquí
- https://docs.python.org/es/3/tutorial/
- http://research.iac.es/sieinvens/python-course/source/modulos.html
- https://wiki.python.org/moin/BeginnersGuide
- https://es.wikipedia.org/wiki/Python