Vaya situación tan extraña.
Estoy intentando ejecutar un socket de servidor en un programa Python (un poco de código, no te preocupes). Para que funcione necesito reenviar un puerto para que se ejecute el servidor. Reenvié el puerto que estoy usando para mi código de acuerdo con las instrucciones detalladas en este sitio para mi enrutador:http://portforward.com/
Cuando uso PFPortChecker (parte de PFNetworkUtilites, también de ese sitio), dice que el puerto que he reenviado está abierto en los protocolos TCP y UDP. Sin embargo, si utilizo algún sitio de verificación de puertos en línea, obtengo un resultado negativo. Además, no puedo conectarme desde dispositivos externos al programa que creé a pesar de que funcionó en el pasado cuando no tenía este problema de reenvío de puertos.
Tengo un enrutador FTTC Technicolor TG582n y reenvié el puerto creando una aplicación personalizada y asignándola a mi dispositivo de red usando la utilidad de caja de herramientas.
Un sitio dijo que mi puerto posiblemente fue filtrado por mi firewall cuando lo probé, sin embargo, cuando desactivé completamente mi firewall y volví a ejecutar la prueba en ese sitio, todavía dice que mi puerto fue filtrado y otros sitios aún dieron resultados negativos.
Respuesta1
esto es realmente fácil de solucionar.
Primero asegúrese de que el programa se esté ejecutando en el puerto. Entonces haz el comando
C:\>netstat -aon <ENTER>
o
C:\>netstat -aon | find "1234"<ENTER>
<--- si su puerto es el puerto 1234
Mira que muestra 0.0.0.0:1234
Siempre puede iniciar un servidor en el puerto, por ejemplo, nc en cygwin, nc -l 1234
o puede probar con cualquier servidor. BRS Webweaver, BPFTP, Apache, ssh VNC, cualquiera que sea su servidor. Su programa de servidor está bien.
Ahora intenta conectarte a tu servidor. Podrías usar telnet. El puerto IP Telnet, por ejemplo, telnet 192.168.1.1 1234
el cliente Telnet en Win7, debe estar habilitado. O bien, con cygwin podría usar el comando nc para conectarse a un servidor. así que nc 192.168.1.1 1234
mira si se conecta.
Vea si puede conectarse desde la propia máquina, hágalo nc 127.0.0.1 1234
Una vez que lo haya probado, podrá conectarse desde su LAN.
Solo que una vez que pueda conectarse desde su LAN, deberá realizar el reenvío de puertos.
Mirando la descripción del programa que mencionas.http://portforward.com/help/portcheck.htm Dice que crea su propio programa en el puerto que está probando. Entonces, si descubre que uno le da luz verde, pero los escáneres de puertos en línea no, entonces tal vez su programa no esté escuchando en un puerto.
Necesitas probar
A)Is your server rujnning. shown in netstat 0.0.0.0 with port. B)Can you connect to your server locally C)Can you connect from LAN (if not then an OS firewall is stopping you D)THEN, look at port forwarding