centos – Prueba de la conectividad del puerto UDP

Pregunta:

Estoy tratando de probar si puedo llegar a un puerto en particular en un servidor remoto (a los cuales tengo acceso) a través de UDP.

Ambos servidores están conectados a Internet. Estoy usando netcat para tener cierto puerto escuchando.

Luego uso nmap para verificar ese puerto y ver si está abierto, pero no parece estarlo.

Iptables está apagado.

¿Alguna sugerencia de por qué esto podría ser? Eventualmente voy a configurar un túnel VPN, pero como soy muy nuevo en los túneles, quiero asegurarme de tener conectividad en el puerto UDP 1194 antes de avanzar.

Respuesta:

No existe un puerto UDP "abierto", al menos no en el sentido que la mayoría de la gente está acostumbrada a pensar (que es responder algo como "OK, he aceptado su conexión"). UDP no tiene sesión, por lo que "un puerto" (léase: el protocolo UDP en la pila de IP del sistema operativo) nunca responderá "exitosamente" por sí solo.

Los puertos UDP solo tienen dos estados: escucha o no. Eso generalmente se traduce en "tener un socket abierto por un proceso" o "no tener ningún socket abierto". El último caso debería ser fácil de detectar, ya que el sistema debería responder con un paquete de destino inaccesible ICMP con código = 3 (puerto inaccesible). Desafortunadamente, muchos firewalls podrían eliminar esos paquetes, por lo que si no recupera nada, no sabe con certeza si el puerto está en este estado o no. Y no olvidemos que ICMP tampoco tiene sesión y no hace retransmisiones: el paquete Port Unreachable podría perderse en algún lugar de la red.

Un puerto UDP en el estado de "escucha" puede no responder en absoluto (el proceso que escucha en él solo recibe el paquete y no transmite nada) o podría enviar algo de regreso (si el proceso actúa sobre la recepción y si actúa por respondiendo a través de UDP a la IP del remitente original: puerto). De nuevo, nunca se sabe con certeza cuál es el estado si no se obtiene nada a cambio.

Dice que puede tener el control del host receptor: eso le permite construir su propio protocolo para verificar la accesibilidad del puerto UDP: simplemente coloque un proceso en el host receptor que escuchará en el puerto UDP dado y responderá (o le enviará un correo electrónico, o simplemente enloquecer y unlink() todo en el sistema de archivos del host … cualquier cosa que llame su atención servirá).

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım