IETF RFC 6143 (Удаленный Framebuffer Protocol) определяет, что рукопожатия безопасности происходит после того, как версия рукопожатия (см пункт 7.1.2 https://tools.ietf.org/rfc/rfc6143.txt).
В первой фазе рукопожатия безопасности, сервер VNC должен:
- отправить 1 байты, содержащих число поддерживаемых типов безопасности
- следует из поддерживаемых типов безопасности (каждый тип защиты кодируется на один байт)
Так сценарий Python (похожий на тот, в вашем вопросе) может отобразить поддерживаемые типы безопасности, что путь:
import socket
def displaySecurityType(sec_type):
switcher = {
0: "Invalid",
1: "NONE",
2: "VNC Authentication"
}
print(' security type: ' + str(sec_type) + ' (' + switcher.get(sec_type,"Not defined by IETF") +')')
def check(ip,port):
vnc = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
vnc.connect((ip,int(port)))
vnc_ver = vnc.recv(12)
print(vnc_ver)
vnc.send(vnc_ver)
nb_sec_types = ord(vnc.recv(1))
print("Nb security types: " + str(nb_sec_types))
for i in xrange(0,nb_sec_types):
sec_type = ord(vnc.recv(1))
displaySecurityType(sec_type)
check("127.0.0.1","5900")
Поделиться кодом, который вы написали. – k4ppa
@ k4ppa проверить мой вопрос снова – Yardanico
никто не может ответить на этот ТРУДНЫЙ вопрос, я думаю ... – Yardanico