Hamachi è un sistema VPN proprietario gestito centralmente, che consiste in un cluster di server gestito dal fornitore del sistema e il software client, che è installato sui dispositivi degli utenti finali. Il software client aggiunge un’interfaccia di rete virtuale a un computer, ed è utilizzato per intercettare il traffico VPN in uscita e in entrata. Il traffico in uscita inviato dal sistema operativo a questa interfaccia viene consegnato al software client, che lo cripta e lo autentica e poi lo invia al peer VPN di destinazione su una connessione UDP appositamente avviata. Hamachi attualmente gestisce il tunneling del traffico IP, comprese le trasmissioni e il multicast. La versione per Windows riconosce e fa il tunneling del traffico IPX.
Ogni client stabilisce e mantiene una connessione di controllo al cluster di server. Quando la connessione viene stabilita, il client passa attraverso una sequenza di login, seguita dal processo di scoperta e dalla sincronizzazione dello stato. La fase di login autentica il client al server e viceversa. La scoperta viene utilizzata per determinare la topologia della connessione Internet del client, in particolare per rilevare la presenza di NAT e dispositivi firewall sul suo percorso verso Internet. La fase di sincronizzazione porta la visione di un client delle sue reti private in sincronia con gli altri membri di queste reti.
Quando un membro di una rete va online o offline, il server istruisce gli altri peer di rete a stabilire o eliminare i tunnel verso il primo. Quando si stabiliscono i tunnel tra i peer, Hamachi utilizza una tecnica di attraversamento NAT assistita dal server, simile alla perforazione UDP. Informazioni dettagliate su come funziona non sono state rese pubbliche. Questo processo non funziona su alcune combinazioni di dispositivi NAT, richiedendo all’utente di impostare esplicitamente un port forward. Inoltre le serie 1.0 di software client sono in grado di ritrasmettere il traffico attraverso “relay server” gestiti dal fornitore.
In caso di perdita inaspettata di una connessione al server, il client conserva tutti i suoi tunnel e inizia a controllare attivamente il loro stato. Quando il server perde inaspettatamente la connessione del client, informa i peer del client del fatto e si aspetta che anche loro inizino a controllare la vivacità. Questo permette ai tunnel Hamachi di sopportare problemi di rete transitori sul percorso tra il client e il server, così come brevi periodi di completa indisponibilità del server.Alcuni client Hamachi ottengono anche porte chiuse su altri client, che non possono essere riparate dal port forwarding.
Hamachi è spesso usato per il gioco e l’amministrazione remota. Il fornitore fornisce un servizio di base gratuito, e funzioni extra a pagamento.
Nel febbraio 2007, un blocco a livello di IP è stato imposto dai server Hamachi su parti dello spazio Internet vietnamita a causa della “scala dell’abuso del sistema originato dagli indirizzi bloccati”. L’azienda sta lavorando ad una soluzione meno invasiva del problema.