
Verifica si una IP es de Tor o es un proxy malicioso
Herramienta para verificar si una IP determinada es un nodo Tor o un proxy abierto.
A veces todas tus limitaciones no son suficientes para detener ataques de fuerza bruta o cualquier tipo de ataque masivo, por lo que puede ayudarte a bloquear a algunos atacantes que usan Tor o proxies abiertos.
ipChecker tiene algunos complementos que extraen IPs de proxies de sitios públicos; todas estas IPs se almacenan en una base de datos donde puedes realizar consultas usando la API proporcionada.
Básicamente, cuando ejecutas el comando make run iniciará docker swarm, crea un servicio para la API que se puede escalar y comienza con 4 contenedores, otro servicio para el actualizador que es el script responsable de ejecutar todos los complementos que obtienen todos los proxies y nodos Tor, este servicio comienza con solo un contenedor, y por último un contenedor para la MongoDB donde se almacenan todos los datos.
Los contenedores se comunican a través de una red de docker llamada ipchecker-network, y solo se expone el puerto 8080 donde consumes la API.
Para evitar muchos falsos positivos, la API solo devuelve IPs del día actual, porque casi todos los servidores proxy y nodos Tor tienen IPs dinámicas.
Aquí está la lista de complementos que funcionan en ipChecker
git clone https://github.com/mthbernardes/ipChecker
cd ipchecker/
Opción para ejecutar el servicio:
| Comando | Descripción |
|---|---|
make buld | Construir todas las imágenes |
Si no tienes docker, necesitarás instalarlo. (Instalación de Docker)
Aquí está el uso básico de la API, para ver todos los endpoints y acceder al endpoint /.
make run | Construir y ejecutar todas las imágenes |
make stop | Detener todos los servicios |
make wipe | Detener todos los servicios y eliminar todas las imágenes y datos de MongoDB |
| Endpoint | método | Descripción |
|---|
| / | GET | Documento de todos los endpoints |
| /statistics | GET | Información sobre solicitudes bloqueadas, solicitudes permitidas y número de todos los proxies en la base de datos (por día) |
| /ips?ip=127.0.0.1 | GET | Buscar una sola IP en la base de datos |
| /all | GET | devuelve todas las IPs en la base de datos |