Curso : Postgrado en Desarrollo de Aplicaciones con Python Especialidad en Hacking & Forensic
Tiempo de estudio:360 horas
Realización:Cursos online
Coste: 538 €> 269 €
PARTE 1. PYTHON 3
UNIDAD DIDÁCTICA 1. PYTHON EN EL PAISAJE INFORMÁTICO
- Breve historia de los lenguajes informáticos
- Tipología de los lenguajes de programación
- Ubicar Python en el paisaje informático
- Informática teórica
- Cronología de la informática
- Historia de Python
- Paradigmas
- Interoperabilidad
- Niveles de programación
- Tipado
- Gramática
- Tipología de Python
- Posición estratégica del lenguaje Python
- Integración con otros lenguajes
UNIDAD DIDÁCTICA 2. PRESENTACIÓN DE PYTHON
- Filosofía
- Gobierno
- ¿Qué contiene Python?
- Fases de ejecución de un programa Python
- Python en pocas líneas
- Comparación con otros lenguajes
- Grandes principios
- Desarrollo
- Modo de gobierno
- Una gramática y una sintaxis
- Varias implementaciones
- Una librería estándar
- Librerías de terceros
- Frameworks
- Carga de la máquina virtual
- Compilación
- Interpretación
UNIDAD DIDÁCTICA 3. POR QUÉ ESCOGER PYTHON
- Cualidades del lenguaje
- Difusión
- Referencias
- Experiencia
- Cobertura funcional
- Puerta de entrada
- Garantías
- Empresas
- El mundo de la investigación
- El mundo de la educación
- Comunidad
- Pesos pesados en la industria informática
- Empresas de innovación
- Editores de contenidos
- Fabricantes de software
- Impresiones
- Desarrollo en un contexto heterogéneo
- Desarrollo rápido
- Venta de desarrollos en Python
- Navegar por lo desconocido
UNIDAD DIDÁCTICA 4. INSTALAR EL ENTORNO DE DESARROLLO
- Instalar Python
- Instalar librerías externas
- Instalar un IDE
- Uso de la consola
- Distribuir sus propias aplicaciones
- Windows
- Mac OS
- UNIX/Linux
- Compilación
- Compilación de Python 3.4
- Instalador o administrador de paquetes
- PIP
- Entorno virtual
- Consola y herramientas asociadas
- Eclipse + PyDev
- Aptana
- Eric
- PyCharm
- Otras soluciones
- StacklessPython
- Entorno heterogéneo
- Consola estándar
- iPython
- Herramienta de distribución
- Creación de paquetes distribuibles
- Distribución binaria para Windows
- Distribución binaria para Mac
- Distribución binaria multiplataforma
- Distribución específica para un entorno
UNIDAD DIDÁCTICA 5. ALGORITMOS BÁSICOS
- Delimitadores
- Instrucciones
- Instrucción
- Una línea de código = una instrucción
- Comentario
- Una instrucción en varias líneas
- Palabras clave
- Palabras reservadas
- Indentación
- Símbolos
- Operadores
- Uso del carácter de subrayado
- PEP-8
- PEP-7
- PEP-257
- Definiciones
- Instrucciones condicionales
- Iteraciones
- Construcciones funcionales
- Gestión de excepciones
- Otros
UNIDAD DIDÁCTICA 6. DECLARACIONES
- Variable
- Función
- Clase
- Módulo
- ¿Qué es una variable?
- Tipado dinámico
- Visibilidad
- Declaración
- Parámetros
- Declaración
- Declaración
- Instrucciones específicas
- ¿Cómo conocer el contenido de un módulo?
UNIDAD DIDÁCTICA 7. MODELO DE OBJETOS
- Todo es un objeto
- Otras herramientas de la programación orientada a objetos
- Funciones principales y primitivas asociadas
- Principios
- Clases
- Métodos
- Herencia
- Principios
- Interfaces
- Atributos
- Propiedades
- Ubicaciones
- Metaclases
- Clases abstractas
- Zope Component Architecture
- Personalización
- Clases particulares
UNIDAD DIDÁCTICA 8. TIPOS DE DATOS Y ALGORITMOS APLICADOS
- Números
- Secuencias
- Conjuntos
- Cadenas de caracteres
- Diccionarios
- Booleanos
- Datos temporales
- Tipos
- La consola Python, la calculadora por excelencia
- Representaciones de un número
- Conversiones
- Estadísticas
- Cálculo científico
- Presentación de los distintos tipos de secuencias
- Uso de índices y tramos
- Uso de operadores
- Métodos de modificación
- Uso avanzado de listas
- Adaptar las listas a necesidades específicas
- Otros tipos de datos
- Presentación
- Operaciones sobre conjuntos
- Métodos de modificación de un conjunto
- Presentación
- Dar formato a cadenas de caracteres
- Operaciones de conjunto
- Problemáticas relativas a la codificación
- Manipulaciones de bajo nivel avanzadas
- Representación en memoria
- Presentación
- Manipular un diccionario
- Uso avanzado de diccionarios
- El tipo booleano
- Evaluación booleana
- Gestionar una fecha del calendario
- Gestionar un horario o un momento de la jornada
- Gestionar un instante absoluto
- Gestionar una diferencia entre dos fechas o instantes
- Especificidades de los husos horarios
- Problemáticas de bajo nivel
- Uso del calendario
UNIDAD DIDÁCTICA 9. PATRONES DE DISEÑO
- Definición
- Creación
- Estructuración
- Comportamiento
- ZCA
- Situación respecto a la noción de objeto
- Organización del capítulo
- Situación respecto a otros conceptos
- Singleton
- Fábrica
- Fábrica abstracta
- Constructor
- Prototipo
- Adaptador
- Puente
- Composite
- Decorador
- Fachada
- Peso mosca
- Proxy
- Cadena de responsabilidad
- Solicitud
- Iterador
- Memento
- Visitante
- Observador
- Estrategia
- Retro llamada
- Consideraciones
- Adaptador
- Utilidad
- Fábrica
- Para ir más allá
UNIDAD DIDÁCTICA 10. MANIPULACIÓN DE DATOS
- Bases de datos
- LDAP
- XML
- Herramientas de manipulación de datos
- Trabajar con medios gráficos
- Presentación
- Acceso a una base de datos relacional
- Uso de un ORM
- Otras bases de datos
- Presentación
- Instalación
- Abrir una conexión a un servidor
- Realizar una búsqueda
- Síncrono vs asíncrono
- Conexiones seguras
- XML y las tecnologías relacionadas
- Validar un documento XML
- DOM
- SAX
- XPath
- XSLT
- El caso concreto de los archivos HTML
- Encriptar un dato
- Generar números aleatorios
- Expresiones regulares
- Imágenes
UNIDAD DIDÁCTICA 11. GENERACIÓN DE CONTENIDO
- OpenDocument
- Presentación
- Bajo nivel
- Alto nivel
- Instalación
- OpenDocument Texto
- OpenDocument Hoja de cálculo
UNIDAD DIDÁCTICA 12. PROGRAMACIÓN PARALELA
- Terminología
- Uso de una tarea
- Uso de procesos
- Ejecución asíncrona
- Proceso
- Tarea
- Gestión de una tarea
- Gestión de varias tareas
- Resolución de problemáticas asociadas
- Gestión de un proceso
- Gestión de varios procesos
- Resolución de problemáticas asociadas
- Oportunidad de utilizar los procesos
- Demonio
- Introducción
- Presentación
- Programación asíncrona
UNIDAD DIDÁCTICA 13. PROGRAMACIÓN DE SISTEMA Y DE RED
- Presentación
- Escribir scripts de sistema
- Trabajar con argumentos
- Programación de red
- Uso de hardware
- Unidad didáctica
- Definición
- Objetivos del capítulo
- Conozca su sistema operativo
- Gestión de archivos
- Alternativas sencillas a los comandos bash habituales
- Herramientas
- Comprimir y descomprimir un archivo
- Presentación
- Implementación
- Escribir un servidor y un cliente
- Utilizar un protocolo estándar
- Servicios web
- Wake-on-LAN
- Uso del puerto serie
UNIDAD DIDÁCTICA 14. BUENAS PRÁCTICAS
- Desarrollo guiado por pruebas
- Programación dirigida por la documentación
- Optimización
- Pruebas unitarias
- Pruebas de no regresión
- Pruebas funcionales
- Pruebas de rendimiento
- Integración continua
- Documentación interna
- Medir la calidad
- Herramientas de depuración
- Herramientas de perfilado
- Reglas de optimización
UNIDAD DIDÁCTICA 15. CREAR UNA APLICACIÓN WEB EN 30 MINUTOS
- Descripción de la aplicación que se va a construir
- Implementación
- Realizar la aplicación
- Para ir más allá
- Aislar el entorno
- Creación del proyecto
- Configuración
- Primeros ensayos
- Modelos
- Vistas
- Controladores
UNIDAD DIDÁCTICA 16. CREAR UNA APLICACIÓN DE CONSOLA EN 10 MINUTOS
- Objetivo
- Registrar el script
- Creación de los datos
- Parser de argumentos
UNIDAD DIDÁCTICA 17. CREAR UNA APLICACIÓN GRÁFICA EN 20 MINUTOS
- Objetivo
- Breve presentación de Gtk y algunos trucos
- Iniciar el programa
- Interfaz gráfica con Glade
- Crear el componente gráfico
- Controlador
- Otras librerías gráficas
- Funcional
- Técnica
- Presentación
- Trucos
- TkInter
- wxPython
- PyQt
- PySide
- Otras
UNIDAD DIDÁCTICA 18. CREAR UN JUEGO EN 30 MINUTOS CON PYGAME
- Presentación de PyGame
- Construcción de un juego Tetris
- Tabla UNICODE
- Bytes
- Presentación del juego
- Presentación de la problemática
- Creación de constantes
- Script
- Script
- Resultado
PARTE 2. PYTHON: DESARROLLO DE APLICACIONES HACKING
UNIDAD DIDÁCTICA 1. PYTHON: LOS FUNDAMENTOS
- Introducción
- Historia
- Características del lenguaje
- Tipos de datos
- Estructuras condicionales y repetitivas
- Funciones, módulos y paquetes
- Las clases
- Manipulación de archivos
- Las excepciones
- Módulos útiles para la continuación del libro
- Conclusión
UNIDAD DIDÁCTICA 2. RED: LA LIBRERÍA SCAPY
- Introducción
- Programación de red con Scapy
- Scapy e IPv
- Otros ejemplos
- Conclusión
- Puesta en práctica
UNIDAD DIDÁCTICA 3. DEPURACIÓN EN WINDOWS
- Introducción
- El módulo ctypes de Python
- Primer enfoque
- Estado de los registros
- Los eventos del debugger
- Los puntos de parada (breakpoints)
- La librería PyDbg
- Puesta en práctica: Hooking
UNIDAD DIDÁCTICA 4. EL FUZZING
- Introducción
- Fuzzing FTP
- Fuzzing con Scapy
- Fuzzing con PyDbg: Format string
- Sulley
- Puesta en práctica
UNIDAD DIDÁCTICA 5. TRATAMIENTO DE IMÁGENES
- Introducción
- Utilización
- Ejemplos de uso
UNIDAD DIDÁCTICA 6. UN POCO MÁS SOBRE LA WEB
- Introducción
- Recordemos lo básico
- Mapping de sitios web
- Fuerza bruta de carpetas o de ubicación de archivos
- Fuerza bruta autenticación HTML
- Selenium
- Conexión a un sitio web y navegación
- Conclusión
UNIDAD DIDÁCTICA 7. ANÁLISIS FORENSE
- Introducción
- Criptografía y otros
- Extracción de metadatos de los archivos
- Archivos ZIP
- Leer de un archivo OpenOffice o Word
- Esteganografía
- Volatility
- Análisis de puntos de acceso inalámbrico en base al registro
- Recuperar los elementos eliminados (de la papelera)
- Puesta en práctica