Sometimes, you just need to break through a troublesome gateway. Or perhaps you need to test a connection from a remote location. If you’re like most geeks, though, there’s already ample reason to do any of this — because you can.
Method 1: ptunnel
Esoteric, novel, and perhaps even useful: ptunnel allows you to tunnel TCP connections over ICMP packets — pings! Set ptunnel up on a server of your own, and connect from a client anywhere that allows ICMP traffic through. Sometimes a wireless access point will block TCP and UDP, but allow pings through to the outside. ptunnel is your ticket to freedom in this circumstance. It even allows for multiple connections and authentication.
Method 2: IP over DNS
More Here