Un libro de la colección Recursos Informáticos
Python 3 - Los fundamentos del lenguaje (2ª edición)
Este libro acerca de los fundamentos del lenguaje Python 3 (versión 3.5 en el momento de su escritura) está dirigido a todos los profesionales de la informática, ingenieros, estudiantes, profesores o incluso personas autodidactas que deseen dominar este lenguaje, muy extendido. Cubre un perímetro relativamente amplio, detalla todo el núcleo del lenguaje y del procesamiento de los datos y abre perspectivas importantes sobre todo lo que permite realizar Python 3 (desde la creación de sitios web hasta el desarrollo de juegos, pasando por el diseño de una interfaz gráfica con Gtk). El libro se centra en la rama 3 de Python, y presenta las novedades aportadas por la versión 3.5. Sin embargo, como el lenguaje Python 2 todavía está muy presente, el autor presenta, cuando existen, las principales diferencias con la rama anterior de Python.
La primera parte del libro detalla las capacidades de Python 3 para responder a las necesidades de las empresas sea cual sea el dominio de la informática en que se trabaje.
La segunda parte es una guía destinada a los debutantes, ya sea en Python o en el desarrollo en general, y permite abordar con tranquilidad los conceptos clave en torno a los proyectos, sirviendo de hilo conductor, y propone la realización de algunos ejercicios.
La tercera parte describe los fundamentos del lenguaje: las distintas nociones se presentan de manera progresiva, con ejemplos de código que ilustran cada punto. El autor ha querido que el lector alcance una autonomía real en su aprendizaje, y cada noción se presenta con dos objetivos distintos: permitir a aquel que no conozca un concepto determinado aprenderlo correctamente, respetando su rol, y permitir a quien ya lo conozca encontrar ángulos de ataque originales para ir más allá en su posible explotación.
La cuarta parte permite ver cómo utilizar Python 3 para resolver problemáticas especializadas y, por tanto, cómo utilizar todos los complementos de Python 3 (protocolos, servidores, imágenes,). En esta parte, el hilo conductor es la funcionalidad y no el módulo en sí; cada capítulo se centra en la manera de explotar una funcionalidad utilizando uno o varios módulos y presenta una metodología, pero no se centra en una descripción anatómica de los módulos en sí. Los módulos abordados en esta sección son aquellos ya migrados a Python 3 así como las funcionalidades que, actualmente, están maduras en esta versión del lenguaje.
Por último, la última parte del libro es un vasto tutorial que permite poner en práctica, en un marco de trabajo profesional, todo lo que se ha visto anteriormente creando una aplicación que cubre todos los dominios habituales en el desarrollo (datos, Web con Pyramid, interfaz gráfica con Gtk, scripts de sistema) y presentar, de este modo, soluciones eficaces de desarrollo basadas en Python 3.
El código fuente de las partes 2, 4 y 5 puede descargarse íntegramente en el sitio www.ediciones-eni.com para permitir al lector probar los programas y modificarlos a su gusto de cara a realizar sus propios ejercicios y desarrollos.
Los elementos complementarios pueden descargarse en el sitio www.ediciones-eni.com.
Los capítulos del libro:
Prólogo Parte Las bazas de Python: Python en el paisaje informático Presentación de Python Por qué escoger Python Instalar el entorno de trabajo Parte Guiar Python: Primeros pasos Funciones y módulos Los principales tipos Las clases Parte Los fundamentos del lenguaje: Algoritmos básicos Declaraciones Modelo de objetos Tipos de datos y algoritmos aplicados Patrones de diseño Parte Las funcionalidades: Manipulación de datos Generación de contenido Programación paralela Programación de sistema y de red Programación asíncrona Programación científica Buenas prácticas Parte Práctica: Crear una aplicación web en 30 minutos Crear una aplicación de consola en 10 minutos Crear una aplicación gráfica en 20 minutos Crear un juego en 30 minutos con PyGame Anexos
Un libro de la colección Epsilon
Hacking y Forensic - Desarrolle sus propias herramientas en Python
Este libro se dirige a toda persona que desee aprender Python para el Hacking y el análisis forense y formarse en el diseño de herramientas en Python, así como a los profesionales de la seguridad informática y del Análisis Forense. Tiene como objetivo llevar al lector a una comprensión de las librerías específicas de Python para poder luego diseñar sus herramientas personalizadas, adaptadas a situaciones particulares en Hacking y Forensic. Para sacar el máximo provecho posible, es necesario contar con nociones de seguridad informática.
El libro consta de 8 capítulos, cada uno ilustrado por muchos ejemplos y ejercicios con sus correcciones al final del capítulo,para proporcionar al lector una forma de auto-evaluación.
El capítulo 1 permitirá aprender los conceptos del lenguaje Python, y las bases del lenguaje. El capítulo 2 está dedicado a la programación en red. Abordaremos la programación de sockets y luego los diferentes servicios tales como HTTP, FTP, POP, SSL, al igual que las expresiones regulares y el acceso a bases de datos. El capítulo 3 está dedicado a la librería scapy, muy útil en hacking y Forensic; el autor detalla el tratamiento de las tramas, el tunneling, los diferentes tipos de escaneo de red y también aborda el protocolo IPv6. Para el capítulo 4, son indispensables conocimientos básicos de la arquitectura PC y ensamblador, así como el uso de depuradores, para la correcta comprensión de la librería PyDbg empleada. El capítulo 5 está dedicado al Fuzzing ; en la primera parte el autor utiliza librerías ya vistas en capítulos anteriores para luego, en una segunda parte, estudiar una librería específica, llamada Sulley, especializada en el fuzzing. El capítulo 6 examina la librería PIL que va a permitir la gestión de imágenes, su edición, y captura de imágenes desde una webcam para extraer los datos; el autor examinará también un elemento particular de la seguridad en la web, los captcha. El capítulo 7 desarrolla los conceptos vistos en el capítulo 2, a fin de construir en Python herramientas de análisis de seguridad para sitios web. Por último, el capítulo final está dedicado íntegramente al análisis forense (Forensic); el autor efectúa una revisión, no exhaustiva, de las diferentes técnicas, recorriendo la esteganografía, la criptografía, y el acoso por e-mail.
El autor ha querido hacer de este libro un compendio no exhaustivo de las librerías más útiles, explicándolas e ilustrándolas con ejemplos concretos para que el lector pueda dominar su funcionamiento.
Los scripts de cada capítulo pueden descargarse desde el sitio www.ediciones-eni.com.
Los capítulos del libro:
Prólogo Python: los fundamentos La red Red: la librería Scapy Depuración en Windows El fuzzing Tratamiento de imágenes Un poco más sobre la Web Análisis forense