Remote Control PC with Hamachi

Thursday, October 16, 2008

Hamachi is a centrally-managed zero-configuration virtual private network (VPN) freeware application capable of establishing direct links between computers that are behind NAT firewalls without requiring reconfiguration (in most cases); in other words, it establishes a connection over the Internet that very closely emulates the connection that would exist if the computers were connected over a local area network. Currently available as a production version for Microsoft Windows and, as beta, for Mac OS X and Linux.

How It Works

Hamachi is a centrally-managed VPN system, consisting of the server cluster managed by the vendor of the system and the client software, which is installed on end-user computers.

Client software adds a virtual network interface to a computer, and it is used for intercepting outbound as well as injecting inbound VPN traffic. Outbound traffic sent by the operating system to this interface is delivered to the client software, which encrypts and authenticates it and then sends it to the destination VPN peer over a specially initiated UDP connection. Hamachi currently handles tunneling of IP traffic including broadcasts and multicast. The Windows version also recognizes and tunnels IPX traffic.

Each client establishes and maintains a control connection to the server cluster. When the connection is established, the client goes through a login sequence, followed by the discovery process and state synchronization. The login step authenticates the client to the server and vice versa. The discovery is used to determine the topology of client's Internet connection, specifically to detect the presence of NAT and firewall devices on its route to the Internet. The synchronization step brings a client's view of its private networks in sync with other members of these networks.



When a member of a network goes online or offline, the server instructs other network peers to either establish or tear down tunnels to the former. When establishing tunnels between the peers, Hamachi uses a server-assisted NAT traversal technique, similar to UDP hole punching. Detailed information on how it works has not been made public. The vendor claims "...to successfully mediate P2P connections in roughly 95% of all cases ..." This process does not work on certain combinations of NAT devices, requiring the user to explicitly set up a port forward. Additionally 1.0 series of client software are capable of relaying traffic through vendor-maintained 'relay servers'.

In the event of unexpectedly losing a connection to the server, the client retains all its tunnels and starts actively checking their status. When the server unexpectedly loses client's connection, it informs client's peers about the fact and expects them to also start liveliness checks. This enables Hamachi tunnels to withstand transient network problems on the route between the client and the server as well as short periods of complete server unavailability.

Each Hamachi client is assigned an IP address from the 5.0.0.0/8 address block. This address is assigned when the client logs into the system for the first time, and is henceforth associated with the client's public crypto key. As long as the client retains its key, it can log into the system and use this 5.x.x.x IP address.

The 5.0.0.0/8 network is used to avoid collisions with private IP networks that might already be in use on the client side. Specifically - 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16. The 5.0.0.0/8 address block is reserved by IANA and is not currently in use in the Internet routing domain, but this is not guaranteed to continue. The IANA free pool is expected to be exhausted by February 2011.[1] If this range is allocated, Hamachi users will not be able to connect to any Internet IP addresses within the range as long as the Hamachi client is running.

Additionally, using a /8 network prefix creates a single broadcast domain between all clients. This makes it possible to use LAN protocols that rely on IP broadcasts for discovery and announcement services over Hamachi networks. Hamachi is frequently used for gaming and remote administration. The vendor provides free basic service and extra features for a fee.

Related Posts by Categories



Labels: , , , , , , , , , , , ,
Feel free to share it!
Technorati Digg it Add to Del.icio.us Stumble It! Add to Google Bookmarks Twitthis Reddit Blinklist Furl Live Yahoo

3 comments:

zplits said...

Can i use this to control my cousins computer?

Nice post dude. Thanks.

wolfwood16 said...

thanks for the comment bro..yeah regarding there's hamachi too...else u may use remote desktop on windows

James said...

Cool one. For remote assistance you can also visit various service providers.

Post a Comment