views:

184

answers:

2

I'm using Java to create a client/server application that communicates using TCP. The network that the client is running on has an outbound firewall that prevents the client from connecting to the server. Is there any way/workaround to create a TCP connection through this firewall?

I have tried to use common ports that are open such as port 80, 443, and 113, however the firewall appears to drop the connection once it is made (possibly by detecting non-protocol packets).

An alternative would be to have the client software run as a Java applet hosted from an external website, however I'm not sure if the outbound firewall would still be able to block this connection.

Any help would be greatly appreciated.

A: 

You can try to communicate using http or https. By tunneling your protocol over these, it might be possible that the firewall lets your traffic through.

villintehaspam
Tried to make a connection through HTTP (80) and HTTPS (443), although the firewall manages to block/drop the connection even through these ports.
Jephir
Did you try to make an actual HTTP-request? As you said, the firewall might drop the connection based on packet inspection - you indicated that you were able to make the connection, but it is then dropped once you start using it (if I understood correctly). So you would need to send actual http requests and respond with http responses. Wikipedia shows how to do this: http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol .
villintehaspam
A: 

Assuming that the users have internet access, and you can't telnet through port 80/443, it probably mean that the users connect through an HTTP Proxy configured in the browser. You could try to research on various tunneling methods via an HTTP Proxy... Though, that will be a very unstable hack.

I recommend contacting the system administrator, explaining your needs, and see what he/she suggests.

Gili Nachum