¡Oferta!

Python aplicado a seguridad y redes

Rango de precios: desde 24,99 $ hasta 66.430,00 $

Módulos y herramientas para proteger sus redes y aplicaciones

Otras opciones
47.710,00 $

Disponible

El precio original era: 114.130,00 $.El precio actual es: 102.720,00 $.

Disponible

66.430,00 $

Disponible

  • 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!
¿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

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

, ,

Í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

Valoraciones

No hay valoraciones aún.

Solo los usuarios registrados que hayan comprado este producto pueden hacer una valoración.