Does anybody have insights of how teamviewer manages to work over port 80?

I would expect that port 80 would then be claimed while I am using a teamviewer session, which would prevent me to communicate over port 80 (http e.g.). That's obviously not the case, so how does this work?

  • Do you have a http server running on your machine? That's the main way you'd have port 80 in use on your machine. Just because you request data from a machine on port 80 doesn't mean that the data comes back to the same numbered port. – Mokubai Sep 28 '16 at 19:16

When you make a connection to another machine over the network, you have a source port and a destination port.

The source port can be any port, meaning it doesn't have to match the destination port.

So while I can listen on port 80, I can connect to another system on port 80 using a local port of, say, 45000. In fact, most of the time the system will allocate a source port (also called a bind port) for you automatically when calling connect().

Needless to say, you don't have to listen on a port in order to connect to another system on that port, hence why TeamViewer - or whatever other application - can listen to port 80 on your machine without hindering your browser from making requests to other systems that are also listening to port 80.

  • Argh, I am really trying, but I am struggling to fully understand this. So when a teamviewer session is running, I have a live connection to another machine. From my PC, to a teamviewer server, to the destination PC. While this session is open, a local port on my PC is in use. A local port on the destination PC is in use. Which kind of information is flowing between the two machines then? Is it repeatedly sending HTTP GET requests to get updates from the destination PC so that I can see the "live" desktop? – bas Sep 28 '16 at 19:21
  • @bas Teamviewer does not use http. What protocol does TeamViewer use? – DavidPostill Sep 28 '16 at 19:41
  • @DavidPostill aha! This is how my poor quality question still gets the answer I was looking for! Thanks for that link, that was what I couldn't find myself – bas Sep 28 '16 at 20:06

The machine you CONNECT TO with teamviewer works on port 80. So for your machine it is like accessing yet another website.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.