Ver Mensaje Individual
  #1  
Antiguo 26-10-2018
ElChicoNuevo ElChicoNuevo is offline
Registrado
NULL
 
Registrado: oct 2018
Posts: 5
Reputación: 0
ElChicoNuevo Va por buen camino
Port Knocking

Hola a todos,

Me estreno con mi primer post con una consultita. Hace AÑOS ya hice algunas cositas en delphi (v3 de hecho) pero la vida me llevó por otros caminos y abandoné la programación. Ahora, a modo de pasatiempo, he retomado y me he propuesto hacer un software para una necesidad muy concreta que tengo: hacer port knoking a firewals que administro.

En esencia, la técnica de Port Knock consiste en "tocar" determinados puertos de un router, en una secuencia concreta. El router previamente configurado para ello, permite entonces el acceso administrativo. Esos "toques" pueden ser en TCP o UDP... pero para no hacerlo más largo, quizás os interese buscar en Wikipedia Port knoking o Golpeo de puertos.

Pues bien, resulta que no he encontrado una aplicación que me permita almacenar un listado de routers (IP/Puertos/Protocolo) y he decidido hacérmelo yo mismo (ya... ambicioso para empezar.)


El problema inicial con el que me encuentro es con el propio golpeo de puertos. Lo consigo fácilmente con IdTCPClient y de hecho, veo el intento de conexión en el router (eso es correcto), pero al tocar el puerto (IdTCPClient1.Connect;) y no haber respuesta, me encuentro con un "socket error, connection refused" porque, obviamente, el router no contesta al intento de conexión (es así).

Lo lindo del asunto es que todo funciona, pero me gustaría saber cómo controlar ese error para no mostrarlo y quede todo más bonito.

Por otro lado, si hay una forma más elegante de hacerlo y que no contemple el uso de IdTCPClient, estoy abierto a sugerencias.


Paciencia conmigo... estoy re-aprendiendo :-D
Responder Con Cita