This video mentions that the TeamViewer IDs used to identify PCs for remote assistance or control to a computer are unique identifiers based on the hardware configuration found on each computer. How can this be true? If two computers have the same hardware configuration wouldn't the two IDs be the same. I guess the program reads the serial numbers on the various hardware devices to create the unique ID for a computer. However, what I would really like to know is, when I enter a TeamViewer ID in a TeamViewer window to connect to a remote PC, how does the connecting computer find the computer it is connecting to? What I am guessing is that, each TeamViewer application sends its ID to a remote server owned by the company behind TeamViewer. This ID is stored in a database. When another computer tries to connect to a remote computer running TeamViewer, it connects to such database, and retrieves the IP address corresponding to the TeamViewer ID stored in the database to connect. This database also stores which TeamViewer instances are running on company servers, so as to know whether to charge the given parties for use of the software or not.

Is this how the protocol works (by making use of a central intermediate server (or network of servers) to record the correspondence between TeamViewer computer IDs and their corresponding IP addresses)?

Note: This post is about where the computer stores the TeamViewer ID on the local hard disk so that it can be accessed via a C# script. My question is different, as it asks about whether this ID is stored in a remote database.



Temviewer uses a* proprietary client server protocol where all computers (no matter if controlled or controlling another) are clients of the team viewer server which gives out the ids by itself. Because this is a proprietary protocol noone, except the developers, can know how that works exactly but i guess it works similar to the http cookies...

If you would like to know how its workes exactly you should probably use an opensource alternate to TeamViewer.

*: there is more then one network protocol in use. Another protocol is used for TeamViewer sessions which tries to route directly from and to the participants using a proprietary "go through NAT**" technique with the help of the TeamViewer servers.

**:NAT stands for "network address translation/port address translation" which is used in common home/small businesses Internet routers. Look it up if you like.


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.