def parse(analysis, redis, printField, path): if path == 'parse': pass else: printText(printField, 'Parseing: %s' % path) tree = ET.parse(path) root = tree.getroot() host = root.find('host') ports = [] for each in host.find('ports'): ports.append(each) #service = each[] printText(printField, 'Parse completed.') return 'Parse'
def process(self, select, user_input=''): if 'Nmap' in select or user_input.startswith('nmap'): return 'Analysis ' + self.nmap.process( select, user_input.replace('nmap ', '')) elif 'Openvas' in select or user_input.startswith('openvas'): return 'Analysis ' + self.openvas.process( select, user_input.replace('openvas ', '')) elif user_input.startswith('back'): printText('> ') return '' elif user_input.startswith('help'): printText( 'nmap - Enter nmap interface\nopenvas - Enter openvas interface\nAnalysis > ' ) return 'Analysis' else: printText('Analysis > ') return 'Analysis'
def process(self, select, user_input=''): if 'Status' in select or user_input.startswith('status'): pass elif 'Parse' in select or user_input.startswith('parse'): return 'Nmap ' + parse(self.analysis, self.redis, self.printField, user_input.replace('parse ', '')) elif 'Upload' in select or user_input.startswith('upload'): return 'Nmap ' + upload(self.ftp, self.redis, self.printField, user_input.replace('upload ', '')) elif user_input.startswith('back'): printText('Analysis > ') return '' elif user_input.startswith('help'): printText( 'status - Status all nmap records\nparse - Parse a nmap XML file.\nupload - Upload a nmap XML file for analysis.\nAnalysis Nmap > ' ) else: printText('Analysis Nmap > ') return 'Nmap '
def stop(self): if self.isServer(): #self.ftps.stop() self.stopped.set() self.ftps.kill() printText('FTP Server stopped.')
def run(self): if self.isServer(): while not self.stopped.wait(self.loopDelay): line = self.ftps.stderr.readline() if line != '': printText(str(line), end='')
def start(self): if self.isServer(): #self.ftps.start() self.ftps = Popen(['python', './utils/ftpd/ftps.py', '--ip', '0.0.0.0', '--path', self.path], stderr=PIPE) printText('FTP Server inited.') super(FTPHandler, self).start()
def upload(self, path): printText('Start uploading file from: %s' % path) self.ftpc.upload(path)