def __init__(self, listenAddress = '0.0.0.0', listenPort=445, configFile=''):
if configFile != '':
self.__server = SMBSERVER((listenAddress,listenPort))
self.__server.processConfigFile(configFile)
self.__smbConfig = None
else:
# Here we write a mini config for the server
self.__smbConfig = ConfigParser.ConfigParser()
self.__smbConfig.add_section('global')
self.__smbConfig.set('global','server_name',''.join([random.choice(string.letters) for _ in range(8)]))
self.__smbConfig.set('global','server_os',''.join([random.choice(string.letters) for _ in range(8)])
)
self.__smbConfig.set('global','server_domain',''.join([random.choice(string.letters) for _ in range(8)])
)
self.__smbConfig.set('global','log_file','None')
self.__smbConfig.set('global','rpc_apis','yes')
self.__smbConfig.set('global','credentials_file','')
self.__smbConfig.set('global', 'challenge', "A"*8)
# IPC always needed
self.__smbConfig.add_section('IPC$')
self.__smbConfig.set('IPC$','comment','')
self.__smbConfig.set('IPC$','read only','yes')
self.__smbConfig.set('IPC$','share type','3')
self.__smbConfig.set('IPC$','path','')
self.__server = SMBSERVER((listenAddress,listenPort), config_parser = self.__smbConfig)
self.__server.processConfigFile()
# Now we have to register the MS-SRVS server. This specially important for
# Windows 7+ and Mavericks clients since they WONT (specially OSX)
# ask for shares using MS-RAP.
self.__srvsServer = SRVSServer()
self.__srvsServer.daemon = True
self.__wkstServer = WKSTServer()
self.__wkstServer.daemon = True
self.__server.registerNamedPipe('srvsvc',('127.0.0.1',self.__srvsServer.getListenPort()))
self.__server.registerNamedPipe('wkssvc',('127.0.0.1',self.__wkstServer.getListenPort()))
评论列表
文章目录