¡Oferta!

Python aplicado a seguridad y redes

24,99 53,81 

Módulos y herramientas para proteger sus redes y aplicaciones

Otras opciones
Accede gratis al libro
24,99 

En Stock

El precio original era: 59,79 €.El precio actual es: 53,81 €.

En Stock

34,80 

En Stock

  • ISBN: 9788426738219
  • Tipo de Encuadernación: Tapa blanda
  • Dimensiones de producto: 17x24
  • Número de páginas: 516

Libro físico

  • Envíos a todo el mundo
  • Suscriptores obtienen descuentos en la compra de libros físicos, envíos gratuitos en España Peninsular y Baleares y acceso a todo el catálogo digital de Marcombo.
    ¿No estás suscrito? ¡Suscríbte!

Suscripción

  • Prueba gratis por 7 días. Planes desde 7,99 €/ mes
  • Accede a todo el catálogo de Marcombo
  • Lectura online y offline
  • Acceso a contenidos previos a su publicación
  • Envíos gratuitos y descuentos especiales para compras en la tienda

Suscribirse
Suscribirse
¿Quieres un descuento? ¡Hazte en miembro!

Más información

Descripción

Índice

Detalles

Colecciones

Categorías

Características

  • Autor: José Manuel Ortega Candel
  • Tipo de Encuadernación: Tapa blanda o bolsillo
  • Número de páginas: 516
  • Idioma: Español
  • Fecha de publicación: 03/06/2024
  • País: España
  • E-Book ISBN: 9788426738615
  • Número de páginas del E-Book: 516

Descripción

Descubra el poder de Python en la seguridad informática y la administración de redes

Si ya posee unos conocimientos previos de programación, principalmente de Python, y quiere ir más allá en la seguridad informática y redes de ordenadores, ha llegado al libro indicado.

A través de una exploración detallada y práctica, Python aplicado a seguridad y redes explora cómo la programación en Python puede transformar y mejorar la gestión de la seguridad y las redes. Gracias a su lectura, aprenderá acerca de la automatización de tareas y de la implementación de herramientas de detección y defensa. También será capaz de:

  • Utilizar Python para automatizar tareas de seguridad y administración de redes.
  • Explorar el uso de bibliotecas populares como Scapy, Nmap y Socket para desarrollar herramientas de análisis de tráfico, escaneo de puertos y detección de vulnerabilidades.
  • Implementar técnicas de análisis forense y auditorías de seguridad utilizando Python.
  • Dominar la creación de scripts para interactuar con API y servicios web, así como para desarrollar aplicaciones de seguridad customizadas.

Asimismo, con este libro disfrutará de proyectos y ejemplos prácticos para consolidar los conceptos aprendidos y fomentar la experimentación. Podrá descargar el material adicional gratuito con el código de la primera página desde www.marcombo.info.

Este libro ha sido diseñado para estudiantes, profesionales de la seguridad informática, administradores de redes e interesados en aprender cómo aplicar Python en el contexto de la seguridad y las comunicaciones en red. Con él, estará equipado para enfrentar los desafíos del mundo digital de hoy y aprovechará la flexibilidad y el poder de Python para proteger y optimizar sus sistemas de redes.

No deje escapar la oportunidad de aprender sobre este tema, de la mano de todo un profesional del ámbito de la programación. Seguro que no le defraudará.

José Manuel Ortega Candel es ingeniero de software e investigador de ciberseguridad. Tiene interés en proyectos de innovación utilizando tecnologías Big Data y lenguajes de programación como Python. Actualmente, trabaja como ingeniero de software en proyectos de investigación relacionados con Big Data, ciberseguridad y Blockchain. Ha impartido docencia a nivel universitario y ha colaborado con el colegio oficial de ingenieros informáticos. También ha sido ponente en varias conferencias orientadas a desarrolladores de nivel nacional e internacional.

Información adicional

Tipo de Variación

, ,

Content missing

Índice

CAPÍTULO 1
Trabajando con sockets en Python 		3
1.1. Introducción a Python para proyectos de seguridad		3
1.2. Introducción a los 
sockets		4
1.2.1. Sockets de red en 
Python		4
1.2.2. Módulo socket en 
Python		6
1.3. Recopilación de 
información con sockets		8
1.3.1. Obtener información 
de un servidor y dirección IP		10
1.4. Implementar un escáner 
de puertos con sockets		13
1.4.1. Escáner de puertos 
con sockets		13
1.4.2. Escáner de puertos avanzado		16
1.4.3. Escáner de puertos 
a partir de un dominio		18
1.5. Implementar en Python 
un servidor HTTP		21
1.5.1. Implementación del 
servidor		21
1.5.2. Implementación del 
cliente		23
1.6. Aplicaciones clientes-
servidor con sockets 
en Python		24
1.6.1. Implementación del 
cliente		25
1.6.2. Administrar excepciones 
de socket		27
1.6.3. Creando un cliente y 
un servidor TCP con sockets		29
1.6.4. Método para aceptar conexiones		30
1.6.5. Enviar y recibir datos 
del socket		31
1.6.6. Implementando 
el servidor TCP		31
1.6.7. Implementando el 
cliente TCP		33
1.7. Shell inversa con sockets		35
1.8. Conclusiones		41

CAPÍTULO 2
Módulos para realizar 
peticiones con Python		43
2.1. Introducción		43
2.2. Protocolo HTTP y 
creación de clientes HTTP 
en Python		43
2.2.1. Introducción al 
protocolo HTTP		43
2.2.2. Módulo http.client		45
2.3. Construyendo un cliente HTTP con urllib.request		47
2.3.1. Usando el método 
urlopen()		48
2.3.2. Objeto respuesta 
y códigos de estado		49
2.3.3. Comprobación de cabeceras HTTP con 
urllib.request		52
2.3.4. Personalización de cabeceras HTTP con 
urllib.request		55
2.3.5. Obtener correos electrónicos y enlaces de 
una URL		57
2.3.6. Obtener imágenes de 
una URL con urllib.request		60
2.4. Construyendo un cliente HTTP con requests		61
2.4.1. Introducción al módulo requests		62
2.4.2. Obtener número de 
palabras de un fichero		66
2.4.3. Obtener cabeceras 
con el módulo requests		68
2.4.4. Realizar peticiones 
GET a una API REST		70
2.4.5. Realizar peticiones 
POST a una API REST		73
2.4.6. Realizar peticiones mediante un proxy		75
2.4.7. Gestionar excepciones 
con el módulo requests		76
2.5. Conclusiones		79

CAPÍTULO 3
Recolección de información 
de servidores con Python		81
3.1. Introducción		81
3.2. Utilizando Shodan para 
la obtención de información		81
3.2.1. Filtros en Shodan		84
3.3. Utilizando Python para 
realizar búsquedas en 
Shodan		85
3.3.1. Acceso a Shodan 
desde Python		87
3.3.2. Búsquedas de Shodan 
en Python		90
3.3.3. Obtención de 
información de un servidor 
FTP		96
3.4. Utilizando el protocolo 
WHOIS para obtener 
información de un servidor		98
3.4.1. Servicio WHOIS		100
3.4.2. Consultas al servicio WHOAPI.com		101
3.4.3. Consultas con 
el módulo Python-whois		105
3.4.4. Consultas con 
el módulo ipwhois		108
3.5. Extracción de 
información de servidores 
DNS		110
3.5.1. Servidores DNS		112
3.5.2 Módulo DNSPython		112
3.5.3. Otras operaciones 
con el módulo dnspython		121
3.6. Servicios DNS		123
3.7. Conclusiones		125

CAPÍTULO 4
Extracción de metadatos con Python		127
4.1. Introducción		127
4.2. Obtener información 
de geolocalización		127
4.3. Módulos de 
geolocalización en Python		131
4.3.1. Geolocalización con 
geoip2-python		131
4.3.2. Geolocalización con maxminddb-geolite2		132
4.3.3. Geolocalización con 
python-geoip-python3		139
4.4. Extracción de metadatos 
en documentos PDF		140
4.4.1. Obtención de 
metadatos con PdfReader		142
4.4.2. Extraer texto e 
imágenes de documentos 
PDF		143
4.5. Extracción de 
metadatos en imágenes		146
4.5.1. Extracción de 
metadatos con el módulo PIL.ExifTags		148
4.6. Conclusiones		153

CAPÍTULO 5
Web Scraping con Python		155
5.1. Introducción		155
5.2. Parsers XML y HTML		156
5.2.1. Extraer etiquetas de 
un sitio web		159
5.2.2. Extracción de 
documentos PDF con el 
módulo lxml		162
5.3. Extraer contenido y 
etiquetas con BeautifulSoup		165
5.3.1. Extraer nombres de 
dominio con BeautifulSoup		168
5.3.2. Extracción de 
contenido mediante 
expresiones regulares		169
5.3.3. Extracción de 
imágenes y enlaces con 
el módulo bs4		170
5.4. Web Scraping con 
Scrapy		176
5.4.1. Características de 
Scrapy		176
5.4.2. Arquitectura de 
Scrapy		177
5.4.3. Instalación y 
comandos de Scrapy		178
5.4.4. Extrayendo 
información mediante 
Scrapy Shell		179
5.4.5. Scrapy como 
framework de desarrollo de spyders		182
5.4.6. Fichero de 
configuración settings.py		188
5.4.7. Exportación de 
resultados en formatos json, 
csv, xml		190
5.5. Conclusiones		191

CAPÍTULO 6
Escaneo de puertos 
y redes con Python		193
6.1. Introducción		193
6.2. Nmap como herramienta 
de escáner de puertos		194
6.2.1. Tipos de escaneo con 
nmap		194
6.3. Escaneo de puertos con Python-nmap		199
6.3.1. Escaneo síncrono 
con Python-nmap		204
6.3.2. Guardar el resultado 
del escaneo en un fichero 
JSON		206
6.3.3. Usando PortScanner
Yield		209
6.3.4. Usando nmap con 
otros módulos de Python		210
6.3.5. Escaneo asíncrono		212
6.4. Ejecutar scripts de 
nmap para detectar servicios 
y vulnerabilidades		217
6.4.1. Ejecutar scripts de 
nmap		218
6.4.2. Obtener subdominios 
con script de nmap		224
6.4.3. Analizar el servicio 
FTP con scripts de nmap		226
6.5. Obtener las máquinas 
activas de un segmento 
de red		231
6.6. Scanless		237
6.7. Conclusiones		241

CAPÍTULO 7
Conexión con servidores 
FTP, SFTP y SSH desde 
Python		243
7.1. Introducción		243
7.2. Conexiones con 
servidores FTP utilizando 
el módulo ftpLib		243
7.2.1. Conexiones con 
servidores FTP		244
7.2.2. Descarga de ficheros 
de servidores FTP		249
7.2.3. Comprobar conexión 
FTP anónima		251
7.2.4. Proceso de fuerza 
bruta para conectarnos con 
un servidor FTP		254
7.3. Conexión con servidores 
SSH utilizando paramiko		261
7.3.1. Ejecutar comandos con paramiko		272
7.3.2. Conexión con la clase Transport		273
7.3.3. Ejecutar comandos 
con la clase Transport		278
7.3.4. Obtener algoritmos 
de cifrado		281
7.3.5. Operaciones sobre 
archivos mediante el cliente 
SFTP		285
7.3.6. Descarga de ficheros 
con el cliente SFTP		290
7.4. Conexión con servidores SFTP utilizando PYSFTP		292
7.4.1. Descarga de ficheros utilizando PYSFTP		295
7.5. Conclusiones		296

CAPÍTULO 8
Análisis de vulnerabilidades 
en aplicaciones web con 
Python		299
8.1. Introducción		299
8.2. Introducción a la 
metodología OWASP		299
8.2.1. Inyección de 
comandos		300
8.2.2. SQL Injection		300
8.2.3. Cross-Site Scripting 
 (XSS)		301
8.3. Scripts en Python para detectar vulnerabilidades 
en sitios web		303
8.3.1. Script en Python para detectar SQL Injection		304
8.3.2. Script en Python 
para detectar Cross-Site 
Scripting XSS		307
8.4. Introducción a la 
herramienta SQLmap para detectar vulnerabilidades 
del tipo SQL Injection		311
8.4.1. Ejecutar SQLmap sobre 
un dominio vulnerable		312
8.4.2. Extracción de tablas 
y columnas de una base de 
datos		314
8.4.3. Acceder a información 
de una tabla		317
8.5. Introducción a la 
herramienta Bandit para
detectar vulnerabilidades 
en proyectos de Python		318
8.5.1. Instalar y ejecutar 
Bandit		318
8.5.2. Análisis de 
vulnerabilidades con Bandit		322
8.5.3. Plug-ins de Bandit 
para el análisis de código 
estático		325
8.5.4. Plugin SQL Injection		330
8.6. Otras herramientas 
de análisis y detección de vulnerabilidades en Python		332
8.6.1. Safety		333
8.6.2. Ejemplo de código 
para detectar XSS		334
8.6.3. Escáner de 
vulnerabilidades XSS para 
Python		336
8.7. Conclusiones		338

CAPÍTULO 9
Análisis del tráfico de red y rastreo de paquetes 
con scapy		341
9.1. Introducción		341
9.2. Captura e inyección de paquetes con scapy		341
9.3. Envío y recepción de paquetes con scapy		352
9.3.1. Enviar y recibir 
paquetes con scapy		356
9.4. Descubrimiento de 
redes con scapy		363
9.4.1. Escaneo de puertos 
con scapy		366
9.4.2. Comando traceroute 
con scapy		370
9.5. Lectura de ficheros 
PCAP con scapy		376
9.6. Rastreo de paquetes 
con scapy		380
9.7. Conclusiones		391

CAPÍTULO 10
Recopilación de información 
con herramientas OSINT		393
10.1. Introducción		393
10.2. Introducción a la 
Inteligencia de Fuentes 
Abiertas (OSINT)		394
10.2.1. Google Dorks y la 
base de datos de Google 
Hacking		395
10.2.2. Maltego		396
10.2.3. Photon		399
10.2.4. The Harvester		400
10.2.5. Censys		400
10.2.6. crt.sh		401
10.2.7. DnsDumpster		402
10.2.8. Web Check		402
10.2.9. WaybackMachine		403
10.2.10. OSINT framework		404
10.2.11. El motor de 
búsqueda Shodan		405
10.2.12. El motor de 
búsqueda BinaryEdge		406
10.3. Obtener información 
con Google Dorks		408
10.3.1. Google Dorks		409
10.3.2. Katana: una 
herramienta Python para 
Google Hacking		410
10.3.3. Dorks Hunter		411
10.4. Obtener información 
con SpiderFoot		414
10.4.1. Módulos de 
SpiderFoot		419
10.5. Obtener información 
sobre servidores DNS con DNSPython y DNSRecon		420
10.5.1. Protocolo DNS		420
10.5.2. Módulo DNSPython		421
10.5.3. DNSRecon		427
10.6. Obtención de 
servidores vulnerables con 
fuzzing		433
10.6.1. El proceso de fuzzing		433
10.6.2. Web fuzzing		434
10.6.3. Introducción del 
proyecto FuzzDB		435
10.6.4. Identificación de 
páginas de inicio de sesión predecibles con el proyecto FuzzDB		440
10.6.5. Identificación de 
inyección SQL con el 
proyecto FuzzDB		442
10.7. Conclusiones		445

CAPÍTULO 11
Criptografía y ofuscación de código		447
11.1. Introducción		447
11.2. Introducción a la 
criptografía		447
11.3. Cifrar y descifrar 
información con 
pycryptodome		448
11.3.1. Cifrar y descifrar 
con el algoritmo DES		452
11.3.2. Cifrar y descifrar 
con el algoritmo AES		454
11.3.3. Cifrado de archivos 
con el algoritmo AES		458
11.3.4. Generación de firmas 
RSA con pycryptodome		463
11.4. Cifrar y descifrar 
información con 
cryptography		468
11.4.1. Cifrado simétrico 
con el paquete fernet		469
11.5. Generación segura de 
claves con los módulos 
secrets y hashlib		474
11.5.1. Generar claves de 
forma segura con el módulo hashlib		477
11.5.2. Comprobar la 
integridad de un fichero con 
el módulo hashlib		483
11.6. Herramientas de 
Python para la ofuscación 
de código		485
11.6.1. Ofuscación de 
código con pyarmor		486
11.7. Conclusiones		491

Glosario		493