Archivo de la etiqueta: python

Clase decoradora para calcular el tiempo de ejecución de funciones

Una de las características de Python es el uso de funciones y clases decoradoras muy útiles cuando estamos evaluando rendimiento y lo que necesitamos es un cronómetro que nos mida cuánto tarda en ejecutarse una función (cualquiera de las que tenemos). Vamos a ver cómo calcular el tiempo de ejecución de funciones: class getTime:    … Leer más »

¿Estamos bajo un ataque DoD o DDoS?

Esta tarde he estado leyendo esta entrada (y a la que le «he robado el título»). Como bien comenta el autor, una de las características que un ataque de denegación de servicio (DoS) presenta, ya sea distribuido o no, es el gran número de conexiones que recibirá nuestro sistema. En esta entrada, podéis consultar una serie… Leer más »

Como saber las IPs que han realizado más de N peticiones en S segundos a nuestro servicio Apache

Tras una pregunta de un alumno en clase sobre control y detección de peticiones abusivas, recordé el guión que desarrollé, cómo no con Python ;), para detectar «ráfagas» de conexiones. Con Python es muy fácil analizar los logs del servidor Apache y consultar qué IPs nos han realizado más de X peticiones (entendiendo por X… Leer más »

El cliente en Python

Y para terminar con el ejemplo de un esqueleto cliente-servidor en Python, el cliente: #!/usr/bin/python #encoding:utf-8 try: import socket import optparse,sys except: print(«Error running ‘import optparse,socket,sys’. Maybe you have to install some python library :)») parser = optparse.OptionParser(«usage%prog » + «-s <target server> -p <target port>») parser.add_option(‘-s’, dest = ‘server’, type = ‘string’, help =… Leer más »

SD: Esqueleto de servidor concurrente con Python (y2)

Continuando con programas en Python (que para eso es el lenguaje de programación de moda ), veremos un servidor que acepta múltiples peticiones de clientes, cada una de ellas, atendidas por un servicial hijo. Esta constituye la principal mejora que debíamos añadir  al código de servidor básico que vimos en la entrada referenciada. Aunque sea solo… Leer más »

URL to QR code

Para automatizar la generación de códigos QR asociados a determinadas URL, he creado este pequeño guión en Python que, dada un URL y, opcionalmente, un nombre de fichero, guarda en dicho fichero el código QR creado a partir de la URL. Es muy sencillo, pero me gustaría remarcar la regexp que comprueba la validez de… Leer más »

nmap y python. Un ejemplo

Para realizar pruebas sobre una red o equipo -casi- todos pensamos, en seguida, en nmap. Muchas veces queremos automatizar ciertas tareas y cuando interviene nmap, con el módulo python-nmap, podemos programarlas con este maravilloso lenguaje. Si, por ejemplo, necesitamos saber si un equipo tiene abierto un puerto determinado, si está «vivo»,… podemos fácilmente usar la… Leer más »