def printResults(self): lenres = len(self.fuzzResponse) if lenres > 0: from pptable import indent, wrap_onspace width = 60 labels = ('Index', 'Fuzz response', 'Probe response') rows = list() for index in sorted(self.fuzzResponse): rows.append((str(index), self.fuzzResponse[index], self.probeResponse[index])) if self.options.file_name: target = open(self.options.file_name, 'w') target.write( indent([labels] + rows, hasHeader=True, prefix='| ', postfix=' |', wrapfunc=lambda x: wrap_onspace(x, width))) target.close() print "Find results at file: <" + self.options.file_name + ">" else: print indent([labels] + rows, hasHeader=True, prefix='| ', postfix=' |', wrapfunc=lambda x: wrap_onspace(x, width)) if self.options.audit_file_name: print "Find audit index at file: <" + self.options.audit_file_name + ">"
def print_stats(self, number=None): labels= ('id', 'trials', '+/-', 'pos.%', 'mean', 'min', 'max') rows = [] for id, md in self.output_generator(number): rows.append((str(id), str(len(md['strategies'])), str("%s/%s" % (len(md['positives']), len(md['negatives']))), str(md['pos']), str(round(md['avg_delta'], 3)), str(round(md['min_delta'], 3)), str(round(md['max_delta'], 3)))) print indent([labels] + rows, hasHeader=True, justify='right')
def print_stats(self, number=None): labels= ('id', 'l/s', 'delta', 'orders', 'longs', 'shorts') rows = [] for id, s in self.output_generator(number): long_signals = [x for x in s['strategy_args'] if x[0].startswith('long')] short_signals = [x for x in s['strategy_args'] if x[0].startswith('short')] rows.append((str(id), "%s/%s" % (str(len(long_signals)), str(len(short_signals))), str(s['delta']), str(s['orders']), str(s['longs']), str(s['shorts']))) print indent([labels] + rows, hasHeader=True, justify='right')
def printResults(self): lenres = len(self.fuzzResponse) if lenres > 0: from pptable import indent,wrap_onspace width = 60 labels = ('Index','Fuzz response','Probe response') rows = list() for index in sorted(self.fuzzResponse): rows.append((str(index),self.fuzzResponse[index],self.probeResponse[index])) if self.options.file_name: target = open (self.options.file_name, 'w') target.write(indent([labels]+rows,hasHeader=True, prefix='| ', postfix=' |',wrapfunc=lambda x: wrap_onspace(x,width))) target.close() print "Find results at file: <"+self.options.file_name+">" else: print indent([labels]+rows,hasHeader=True, prefix='| ', postfix=' |',wrapfunc=lambda x: wrap_onspace(x,width)) if self.options.audit_file_name : print "Find audit index at file: <"+self.options.audit_file_name +">"
def getasciitable(labels,db,resdb=None,width=60): from pptable import indent,wrap_onspace rows = list() for k in db.keys(): cols = [k,db[k]] if resdb is not None: if resdb.has_key(k): cols.append(resdb[k]) else: cols.append('[not available]') rows.append(cols) o = indent([labels]+rows,hasHeader=True, prefix='| ', postfix=' |',wrapfunc=lambda x: wrap_onspace(x,width)) return o
def getasciitable(labels, db, resdb=None, width=60): from pptable import indent, wrap_onspace rows = list() for k in db.keys(): cols = [k, db[k]] if resdb is not None: if resdb.has_key(k): cols.append(resdb[k]) else: cols.append('[not available]') rows.append(cols) o = indent([labels] + rows, hasHeader=True, prefix='| ', postfix=' |', wrapfunc=lambda x: wrap_onspace(x, width)) return o
open(os.path.join(exportpath, 'lastpasswd.pkl'), 'w')) logging.debug('logged last position %s' % sipvicious.crackargs.tell()) except IOError: logging.warn('could not log the last tried password') # display results if not options.quiet: lenres = len(sipvicious.resultpasswd) if lenres > 0: logging.info("we have %s cracked users" % lenres) if (lenres < 400 and options.save is not None) or options.save is None: from pptable import indent, wrap_onspace width = 60 labels = ('Extension', 'Password') rows = list() for k in sipvicious.resultpasswd.keys(): rows.append((k, sipvicious.resultpasswd[k])) print indent([labels] + rows, hasHeader=True, prefix='| ', postfix=' |', wrapfunc=lambda x: wrap_onspace(x, width)) else: logging.warn("too many to print - use svreport for this") else: logging.warn("found nothing") end_time = datetime.now() total_time = end_time - start_time logging.info("Total time: %s" % total_time)
try: if guessmode == 1: pickle.dump(sipvicious.nextuser,open(os.path.join(exportpath,'lastextension.pkl'),'w')) logging.debug('logged last extension %s' % sipvicious.nextuser) elif guessmode == 2: pickle.dump(sipvicious.guessargs.tell(),open(os.path.join(exportpath,'lastextension.pkl'),'w')) logging.debug('logged last position %s' % sipvicious.guessargs.tell()) except IOError: logging.warn('could not log the last extension scanned') # display results if not options.quiet: lenres = len(sipvicious.resultauth) if lenres > 0: logging.info("we have %s extensions" % lenres) if (lenres < 400 and options.save is not None) or options.save is None: from pptable import indent,wrap_onspace width = 60 labels = ('Extension','Authentication') rows = list() for k in sipvicious.resultauth.keys(): rows.append((k,sipvicious.resultauth[k])) print indent([labels]+rows,hasHeader=True, prefix='| ', postfix=' |',wrapfunc=lambda x: wrap_onspace(x,width)) else: logging.warn("too many to print - use svreport for this") else: logging.warn("found nothing") end_time = datetime.now() total_time = end_time - start_time logging.info("Total time: %s" % total_time)