Ich benutze die rdpy-rdpmitm
Demo von rdpy
, um eine RDP-Proxy zu implementieren, aber ich möchte das Passwort vor der Verbindung zu Ziel überprüfen und Client re -input Benutzername und Passwort. Mein Code ist so; Wie implementiere ich OnReady
Methode?Wie mache ich rdpy-rdpmitm lassen Client Benutzernamen und Passwort erneut eingeben, wenn das Passwort nicht inkorrekt
class ProxyServer(rdp.RDPServerObserver):
def __init__(self, controller, target, clientSecurityLevel, rssRecorder):
"""
@param controller: {RDPServerController}
@param target: {tuple(ip, port)}
@param rssRecorder: {rss.FileRecorder} use to record session
"""
rdp.RDPServerObserver.__init__(self, controller)
self._target = target
self._client = None
self._rss = rssRecorder
self._clientSecurityLevel = clientSecurityLevel
def onReady(self):
"""
@summary: Event use to inform state of server stack
First time this event is called is when human client is connected
Second time is after color depth nego, because color depth nego
restart a connection sequence
@see: rdp.RDPServerObserver.onReady
"""
if self._client is None:
# try a connection
domain, username, password = self._controller.getCredentials()
self._rss.credentials(username, password, domain, self._controller.getHostname())
width, height = self._controller.getScreen()
self._rss.screen(width, height, self._controller.getColorDepth())
if checkPassword(username, password): #password ok
reactor.connectTCP('127.0.0.1', 3389, ProxyClientFactory(self, width, height, domain, username, password,self._clientSecurityLevel))
else:
pass
#how to make client re-input username and password in this place
Gibt es in Ihrem Code in Ihrer Klasse sein haben, oder es auf der Außenseite sein kann? –