yes, the whole vnc family (eg. [tightvnc][1]):

  * http://en.wikipedia.org/wiki/Virtual_Network_Computing


to access your machines through firewalls, you need something like '[nat2nat][2]' (you can find related information under the term [stun][3]) or you add constant portforwarding on your router to the machine you want to control.


  [1]: http://www.tightvnc.com/
  [2]: http://www.uvnc.com/addons/nat2nat.html
  [3]: http://en.wikipedia.org/wiki/STUN