diff --git a/Wifite.py b/Wifite.py index e041118..0a15cd7 100755 --- a/Wifite.py +++ b/Wifite.py @@ -131,9 +131,9 @@ class Wifite(object): result = False try: result = attack.run() - except Exception, e: + except Exception as e: Color.pl("\n{!} {R}Error: {O}%s" % str(e)) - if Configuration.verbose > 0 or True: + if Configuration.verbose > 0 or Configuration.print_stack_traces: Color.pl('\n{!} {O}Full stack trace below') from traceback import format_exc Color.p('\n{!} ') diff --git a/py/AttackWEP.py b/py/AttackWEP.py index 02efecf..1f94dee 100644 --- a/py/AttackWEP.py +++ b/py/AttackWEP.py @@ -223,7 +223,16 @@ class AttackWEP(Attack): self.success = False return self.success except Exception as e: - Color.pl("\n{+} {R}Error: {O}%s{W}" % e) + Color.pl("\n{!} {R}Error: {O}%s" % str(e)) + if Configuration.verbose > 0 or Configuration.print_stack_traces: + Color.pl('\n{!} {O}Full stack trace below') + from traceback import format_exc + Color.p('\n{!} ') + err = format_exc().strip() + err = err.replace('\n', '\n{!} {C} ') + err = err.replace(' File', '{W}File') + err = err.replace(' Exception: ', '{R}Exception: {O}') + Color.pl(err) continue # End of big try-catch # End of for-each-attack-type loop diff --git a/py/Configuration.py b/py/Configuration.py index bcdb54f..f5e36c3 100644 --- a/py/Configuration.py +++ b/py/Configuration.py @@ -27,6 +27,7 @@ class Configuration(object): Configuration.initialized = True Configuration.verbose = 0 # Verbosity level. + Configuration.print_stack_traces = True Configuration.kill_conflicting_processes = False