21 votos

¿Cómo puedo saber si un puerto está abierto o no?

Tengo instalado el servidor Apache en mi ordenador con Windows 7. Yo era capaz de mostrar el valor predeterminado index.php escribiendo http://localhost/ en la línea de direcciones de mi navegador.

Sin embargo, aún soy incapaz de ver esta página escribiendo la dirección IP de mi ordenador (ni a nivel local (desde el mismo ordenador) no a nivel mundial (desde otro ordenador conectado a Internet)).

Me dijeron que tengo que abrir el puerto 80. Yo lo hice (en una manera descrita aquí) pero no resuelve el problema.

Primero de todo me gustaría comprobar qué puertos están abiertos y cuáles no. Por ejemplo, no estoy seguro de que mi puerto 80 se cerró antes de que traté de abrir. No estoy seguro de que se abrió después de que traté de abrirlo.

He intentado ejecutar una muy simple servidor web escrito en Python. Para que me sirve el puerto 81 y funcionó! Y yo no intente abrir el puerto 81. Así, se abre por defecto. Por lo tanto, si 81 se abre de forma predeterminada, por qué el 80 no? O que es?

INFORMACIÓN ADICIONAL:
1. En mi httpd.conf archivo que tengo "Listen 80".
2. Este sitio me dice que el puerto 80 de mi equipo es abierto.
3. Puedo obtener diferentes respuestas si trato http://myip:80 y http://myip:81. En el último caso de que el navegador (Chrome) me escribe que el enlace está roto. En el primer caso puedo obtener: Prohibido Usted no tiene permiso para acceder a / en este servidor.
4. Es decir, escribe que "El sitio web se negó a mostrar esta página web".

15voto

Urda Puntos362

Si se acaba la comprobación in situ sus puertos desde el exterior. El uso de esta herramienta:

http://www.yougetsignal.com/tools/open-ports/

Se intentará conectarse a la dirección IP, en el puerto específico, y vamos a saber si está abierta o cerrada al mundo exterior.

Los problemas locales? Suena como el de Windows 7 firewall te corta. Añadir una excepción con este tutorial...

http://www.sevenforums.com/tutorials/542-windows-firewall-add-remove-exception.html

13voto

Greg Bray Puntos2305

La ejecución de "netstat-a-n" desde un símbolo del sistema se mostrarán todas las conexiones de red abiertas y los puertos de escucha en su máquina. 0.0.0.0:80 significaría que se está escuchando en el puerto 80 de todas las direcciones ip (localhost y su público/privado de direcciones IP) donde como 127.0.0.1:80 significaría que sólo está escuchando en localhost. Usted puede agregar-b para el comando y se mostrará que el ejecutable se utiliza ese puerto. Usted puede obtener la misma información con el Monitor de Recursos de Windows 7 en los Puertos de Escucha de la sección de la ficha Red.

5voto

Kyle Brandt Puntos50907

Si quieres ver si está abierto desde otro servidor sólo puede telnet serverName 80 y ver si la sesión se abre. Si no es así, que el servidor no está escuchando, o el puerto está bloqueado por un firewall.

Si se abre y luego se cierra de inmediato, al menos en windows 2003, a continuación, el software (como Exchange) podría no ser configurado para escuchar en esa interfaz específica o IP, pero se escucha en otros puertos. He visto IIS se comportan de esta manera porque es estúpido, Apache puede que no.

2voto

Piskvor Puntos1590

Usted escribió:

En el primer caso puedo obtener: Prohibido Usted no tiene permiso para acceder a / en este servidor.

Aunque esto puede sonar extraño, en realidad no tienen un problema con los puertos abiertos (pero con la configuración de Apache).

Que el mensaje "Prohibido" viene de tu servidor Apache; esto significa que su servidor web es accesible desde Internet.

Usted necesita configurar Apache para permitir que sirve para todos los hosts - de lo contrario se obtendrá el "Prohibido" de la página. Si mal no recuerdo, Apache está configurado inicialmente sólo para las solicitudes desde el equipo local.

En algún lugar en su configuración de Apache, probablemente, hay una sección como esta (el directorio real puede ser diferente):

<Directory "/home/piskvor/www">
    Allow from 127.0.0.1
    Deny from all
(...)

Si desea permitir que cualquier equipo para ver sus páginas, usted necesita para cambiar el Deny from all a Allow from all. Ver el módulo de acceso a la documentación para más información.

1voto

theheadofabroom Puntos141

Para ver los puertos abiertos, probablemente, usted debe usar nmap Tienen una versión de Windows: http://nmap.org/dist/nmap-5.21-setup.exe

No es suficiente si usted ve a su puerto 80 abierto desde localhost - tal vez algo de pie en el camino, si usted intente desde otro lugar, por eso lo recomiendo nmap

Desde el cliente escribe: nmap ip de su servidor de

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

;