Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: misionero2018 en 5 Junio 2019, 02:48 am



Título: Como abrir un puerto con sockets en .net usando IP Pública
Publicado por: misionero2018 en 5 Junio 2019, 02:48 am
Que tal amigos, estoy implementando una función de cliente-servidor mediante sockets en c#, mi objetivo es poner a la escucha una aplicación de escritorio que se enlazará por la ip pública , hasta ahora no he encontrado info en internet que lo haga,todo es en local, cuando corro mi aplicacion solo me arroja que 'La dirección solicitada no es válida en este contexto'.
éste es mi codigo
Código:
var ippublica = new System.Net.WebClient().DownloadString("http://misitioweb.com/ip.php");
IPAddress direc = Dns.Resolve(ippublica).AddressList[0];
_tcpListener = new TcpListener(IPAddress.Parse(direc), port);
                _tcpListener.Start();
                _acceptThread = new Thread(AceptarClientes);
                _acceptThread.Start();


también probé con
Código:
 var ippublica = new System.Net.WebClient().DownloadString("http://misitioweb.com/ip.php");
            IPAddress direc = Dns.Resolve(ippublica).AddressList[0];//Dns.GetHostEntry("localhost").AddressList[0];
            IPEndPoint Ep = new IPEndPoint(direc, 12345);
            Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            socket.Bind(Ep);
            socket.Listen(100);
            Socket handler = socket.Accept();
tengo acceso al módem y ya intenté abrir el puerto en la sección de activador de puertos, el modem es un HUAWEI HG659 , he intentado con puertos 81,82,1300 y naranjas.Ya no se que mas puedo hacer[/color]


Título: Re: Como abrir un puerto con sockets en .net usando IP Pública
Publicado por: ivancea96 en 5 Junio 2019, 23:05 pm
Tu red tendrá una Ip pública, que será desde la cual accedes desde fuera. En tu router le tendrás que "abrir el puerto" diciéndole que las conexiones a ese puerto las lleve a tu PC (dandole la ip local de tu PC).

A TcpListener le puedes dar solo el puerto, no tienes que pasarle el parámetro IP.


Título: Re: Como abrir un puerto con sockets en .net usando IP Pública
Publicado por: misionero2018 en 7 Junio 2019, 02:37 am
Tu red tendrá una Ip pública, que será desde la cual accedes desde fuera. En tu router le tendrás que "abrir el puerto" diciéndole que las conexiones a ese puerto las lleve a tu PC (dandole la ip local de tu PC).

A TcpListener le puedes dar solo el puerto, no tienes que pasarle el parámetro IP.


Gracias por responder, pero quiero publicar aquí la forma en q procedí a realizar la apertura en el módem,(https://misrespaldos.webcindario.com/codigos/Modem_HG659.jpg) pues sigue sin abrirlo cuando escaneo en la web, me dice que este puerto está cerrado y los inútiles de telmex te piden todos tus datos para decir que en internet busque un manual de mi router >:(


Título: Re: Como abrir un puerto con sockets en .net usando IP Pública
Publicado por: misionero2018 en 15 Junio 2019, 08:02 am

Gracias por responder, pero quiero publicar aquí la forma en q procedí a realizar la apertura en el módem,(https://misrespaldos.webcindario.com/codigos/Modem_HG659.jpg) pues sigue sin abrirlo cuando escaneo en la web, me dice que este puerto está cerrado y los inútiles de telmex te piden todos tus datos para decir que en internet busque un manual de mi router >:(
Y perdón que insista, pero como es que programan cosas como TeamViewer, SAE y muchos otros que no requieren meterse al módem a abrir puertos :o y se conectan remotamente a cualquier máquina de su sistema? hay algún protocolo distinto a tcp o lenguaje especial q permita esa programación?


Título: Re: Como abrir un puerto con sockets en .net usando IP Pública
Publicado por: rub'n en 15 Junio 2019, 08:15 am
Y perdón que insista, pero como es que programan cosas como TeamViewer, SAE y muchos otros que no requieren meterse al módem a abrir puertos :o y se conectan remotamente a cualquier máquina de su sistema? hay algún protocolo distinto a tcp o lenguaje especial q permita esa programación?

TCP/UDP hole punching, como P2P


Título: Re: Como abrir un puerto con sockets en .net usando IP Pública
Publicado por: animanegra en 15 Junio 2019, 16:45 pm
Citar
como es que programan cosas como TeamViewer, SAE y muchos otros que no requieren meterse al módem a abrir puertos

Usan UPNP un protocolo que permite hablar con el router desde la LAN para que deje pasar los paquetes de un puerto dado y los redirecciones a un puerto e IP interna (Mayormente a quien hace la petición).


Título: Re: Como abrir un puerto con sockets en .net usando IP Pública
Publicado por: misionero2018 en 17 Junio 2019, 03:50 am
Usan UPNP un protocolo que permite hablar con el router desde la LAN para que deje pasar los paquetes de un puerto dado y los redirecciones a un puerto e IP interna (Mayormente a quien hace la petición).

Excelente Máster,  :) eso es lo que quería escuchar, el secreto nos dá el poder a los programadores a un nivel avanzado ;-)


Título: Re: Como abrir un puerto con sockets en .net usando IP Pública
Publicado por: misionero2018 en 17 Junio 2019, 04:23 am
TCP/UDP hole punching, como P2P
Mil gracias, justo lo que buscaba, lo que no quiere el gobierno que sepamos ::)


Título: Re: Como abrir un puerto con sockets en .net usando IP Pública
Publicado por: rub'n en 17 Junio 2019, 10:44 am
Mil gracias, justo lo que buscaba, lo que no quiere el gobierno que sepamos ::)

Mmm creo que no funciona con tecnología GSM tipo 3g, y otra cosa UPNP no es lo que buscas. Sino lo que te mencione, también le dicen Nat traversal, como ngrok.

Edit, y 4g.