Jump to content

So, my networks professor gave me an assignment on, what protocol and port does teamviewer use,if it uses any encryption, and if it uses credentials.

I searched for this but found two, very different answers

- The first mentioned a propietary protocol based on RDP or RFB

-The last mentioned a UDP pinholeing.

Can anyone help with this data?

Case: NZXT phantom CPU:I5-4460 GPU:MSI-GTX1070 Gaming X RAM:2x4Gb-DDR3-HyperX fury MOBO:Asus Z97-P HDD:Toshiba 1Tb 7200rpm PSU:Sentey650W

Link to comment
https://linustechtips.com/topic/649078-what-protocol-does-teamviewer-use/
Share on other sites

Link to post
Share on other sites

Teamviewer uses its own proprietary which is not documented 

 

It is similar to RDP or VNC (RFB) in purpose, but includes NAT traversal, has slightly different authentication methods (the one-time PINs), supports file transfer & chat, and adapts to network conditions dynamically.

 

Link to post
Share on other sites

Just now, keNNySOC said:

Those are which "ports" are used by teamviewer,not the protocol it uses

Also asked by my prof

Case: NZXT phantom CPU:I5-4460 GPU:MSI-GTX1070 Gaming X RAM:2x4Gb-DDR3-HyperX fury MOBO:Asus Z97-P HDD:Toshiba 1Tb 7200rpm PSU:Sentey650W

Link to post
Share on other sites

TCP and UDP are transport layers , ways of sending data across the internet between two computers. You can learn more about these and others here : https://en.wikipedia.org/wiki/Transport_layer

 

Most applications use TCP because the applications need to have confirmation that screen refreshes and stuff like that has arrived correctly at the other end and there's back and forth communication... for this tcp is better.  UDP is better suited for broadcasts, for streaming of video or audio without worrying about corrupted audio or video frames, no retransmitting corrupted frames and so on, which would be unsuitable for remote desktop applications.

 

UDP could be used for example by remote desktop applications for file transfers (for example the server side application creates an archive on the fly with the files user wants to transfer (and optionally adds error correction information or checksums to the archive) and just "streams" the archive to the user and when all transfer is done user side application can request retransmission of certain chunks that got corrupted (if any). 

 

Teamviewer , Remote Desktop, VNC all use TCP to transfer data between the two computers, but the exact protocol varies ( it can be RDP for Remote Desktop Administration, it can be RFB for VNC and various offshots). See https://en.wikipedia.org/wiki/Remote_desktop_software#Protocols for example of protocols for various remote desktop applications

Link to post
Share on other sites

The issue with this assignment is that teamviewer's protocol is the reason why people gladly pay money for it: it's superior over any other (free) alternative in terms of its accuracy, and intelligence.

And because they invested a lot of time, effort, and money into this, they're very keen on keeping it behind closed doors.

 

Their netcode is a mixture of keeping the connection alive, sending mouse and keyboard inputs, sending audio, sending the 'bulk' display data, and sensing link speed to automagicly switch quality settings for the best experience.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×