I want to know how can I connect to a remote computer that is using a router. How can I enable a 2 way comunication? the router doesn't let me stablish that kind of connection.
Posted on 2004-11-03 16:28:11 by kidscracker
if protocol is disabled by the router., reenable it :)
or do some kind of tunneling using other, allowed, protocol.
Posted on 2004-11-03 17:20:42 by arafel
You need to piggy back or tunnel through on a protocol that the router does permit. But the client must initiate from behind the firewall.

Regards, P1 8)
Posted on 2004-11-03 17:21:37 by Pone
If the router accepts incoming connections over the selected carrier protocol, there's no need to create outgoing connections from behind the router...

Basically these guys are right, there's two ways to deal with this problem, the first is to mess with the router configuration so it allows (whatever you are trying to do), and the second is to encapsulate the session in a protocol that IS allowed by the router.

I'd try the first one, mess with your router ACL first.
If that doesn't do it for ya, then u need to start looking into encapsulation... as an example, Bit Torrent protocol is encapsulated using HTTP protocol to allow it past almost any firewall or router.
Posted on 2004-11-03 21:36:46 by Homer
what about upnp? or something? i remember that smartftp once wrote messages about it, if i'm correct you can dynamically open ports on the router... or something.
Posted on 2004-11-04 08:48:57 by lifewire
Well, what I need is to get an the remote's ccomputer Ip, a valid IP, to stablish the connection, something like E-mule, but without a Server
Posted on 2004-11-05 09:26:20 by kidscracker
kidscracker, I've been telling you how to do this over on the FASM forum, but to say again;

I'll assume you're at the stage where you have one program which listens for a connection on a port (Such a program is a server btw) and a second (this being the client) which trys to establish a connect to the server via the port and ip. Also assuming here that these work, ie if you run both on you're own pc and tell the client to conect to ip that its sucessfully connects to the server app.

Ok so. In a simple world using this across the net would simply require running the server on, say, a friends computer, and telling the client to connect to his ip. You could find his ip by getting him to go to http://checkip.dyndns.org/ and emailing you the value.

In a more complicated world there are things that can get in the way;

On your end a firewall could prevent your app from talking out. If this is the case you simply tell the firewall to not block outgoing connects for your client app.

On your friends end two obvious thing could get in the way if he has them; his firewall and/or his nat router. For a firewall it simply needs to be told to not block incoming connects to the server app.

If there's a nat router then in actuallity the ip your connecting to is the modems. The modem needs to be told to pass any incoming connections onto the pc the server app in running on. This must be done manually in the routers configuration and will probably be in settings called port forwarding, virtual servers is also a term used as is pinholes through the nat.

Some complications can occure here, if theres a router and a modem then they may both be doing the nat thing and both need to be set to pass on the specific port. In my case at home the pcs and modem plugs into a router. I set the modem to forward on the necessary ports to the router and the router passes them onto the particular pc.

Note a nat router on your end shouldn't cause any problem as your talking out through iit which is ok. Also as a quick test you both could maybe trun off firewalls and set the routers to forward all ports (sometimes this is called seting up a demilitarised zone) as the temporary thing just to reduce the amount of things that could be causing problems and getting in the way.

Hope this helps :) .

Oh and by the way if any experts out there see a need to correct me please do, I only half learned this stuff while getting emule to work and could have it wrong :) .
Posted on 2004-11-05 19:18:35 by Eóin