Estoy intentando solucionar problemas de una aplicación personalizada que se encuentra dentro de un firewall en una red empresarial que ejecuta un servidor Windows 2003. Nuestra aplicación utiliza PHP/cURL para enviar datos XML a un sitio web alojado públicamente. De forma predeterminada, no se puede utilizar un navegador en este servidor; sin embargo, una versión anterior de la aplicación pudo salir por el puerto 80 (a pesar del bloqueo del navegador).
Necesito una forma sencilla de determinar si puedo llegar a un destino particular a través del puerto 80 o el puerto 443 (por ejemplo,http://www.foo.com/other/import-xml?md87t9=g456342135kj5f7)
Me gustaría verificar esto antes de trabajar con el cliente para cambiar su configuración de firewall/filtrado web.
Respuesta1
Necesita un sistema en esa dirección que ejecute un servicio en ese puerto, y ese sistema no debe tener bloqueado el tráfico entrante. Si eso es cierto, entonces debe intentar comunicarse de alguna manera en ese puerto con el servicio que escucha. Esa es la única forma 100% confiable de saberlo con certeza sin conocer la configuración exacta del firewall en ambos lados.
Sin embargo, si el único problema que tiene es que no puede utilizar un navegador y está intentando realizar la prueba desde Windows Server 2003, puede emitir una solicitud HTTP manual mediante telnet. Pruebe esto en un símbolo del sistema:
telnet yourserver.com 80
Luego, presione ENTRAR una vez y luego escriba exactamente (no podrá ver lo que escribe):
GET / HTTP/1.1
Luego presione ENTRAR.
Si un servidor web está escuchando en ese puerto y es accesible, obtendrá una gran cantidad de HTML. De lo contrario, la conexión finalizará.
Respuesta2
Firebind es una herramienta de validación de rutas de red basada en la nube que utiliza un cliente de subprograma Java para enviar paquetes a través de cualquier puerto TCP o UDP entre su máquina y el servidor Firebind. Esto proporciona pruebas en la dirección saliente (de red privada a Internet).
Puede elegir cualquiera de los puertos TCP o UDP 65535 (o incluso todos si lo desea) para realizar la prueba. Firebind abre dinámicamente puertos en el lado del servidor para "escuchar" el tráfico de prueba desde el cliente del subprograma Java. Si los paquetes de prueba llegan intactos al servidor y luego se reenvían exitosamente al cliente sin cambios, entonces la prueba del puerto será exitosa. Si hay algún tipo de firewall que bloquea un puerto determinado, Firebind informará una falla. Para el protocolo TCP, incluso le dirá cómo se bloqueó (como TCP DROP/timeout o TCP RESET/reject).