Internet Protocol - Research by Kirils Solovjovs
Internet Protocol - Research by Kirils Solovjovs
Internet Protocol - Research by Kirils Solovjovs
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Skype protocol 77<br />
Login<br />
A Skype client authenticates the user with the login server, advertises its presence to other peers, determines the type<br />
of NAT and firewall it is behind and discovers nodes that have public IP addresses.<br />
To connect to the Skype network, the host cache must contain a valid entry. A TCP connection must be established<br />
(i.e. to a supernode) otherwise the login will fail.<br />
1. start<br />
2. send UDP packet(s) to HC<br />
3. if no response within 5 seconds then<br />
4. attempt TCP connection with HC<br />
5. if not connected then<br />
6. attempt TCP connection with HC on port 80 (HTTP)<br />
7. if not connected then<br />
8. attempt TCP connection with HC on port 443 (HTTPS)<br />
9. if not connected then<br />
10. attempts++<br />
11. if attempts==5 then<br />
12. fail<br />
13. else<br />
14. wait 6 seconds<br />
15. goto step 2<br />
16. Success<br />
After a Skype client is connected it must authenticate the username and password with the Skype login server. There<br />
are many different Skype login servers using different ports. An obfuscated list of servers is hardcoded in the Skype<br />
executable.<br />
Skype servers are:<br />
• dir1.sd.skype.net:9010<br />
• dir2.sd.skype.net:9010<br />
• dir3.sd.skype.net:9010<br />
• dir4.sd.skype.net:9010<br />
• dir5.sd.skype.net:9010<br />
• dir6.sd.skype.net:9010<br />
• dir7.sd.skype.net:9010<br />
• dir8.sd.skype.net:9010<br />
• http1.sd.skype.net:80<br />
• http2.sd.skype.net:80<br />
• http3.sd.skype.net:80<br />
• http4.sd.skype.net:80<br />
• http5.sd.skype.net:80<br />
• http6.sd.skype.net:80<br />
• http7.sd.skype.net:80<br />
• http8.sd.skype.net:80<br />
Skype-SW connects randomly to 1-8.<br />
On each login session, Skype generates a session key from 192 random bits. The session key is encrypted with the<br />
hard-coded login server's 1536-bit RSA key to form an encrypted session key. Skype also generates a 1024-bit<br />
private/public RSA key pair. An MD5 hash of a concatenation of the user name, constant string ("\nSkyper\n") and