示例#1
0
    def dependency_check(self):
        ''' Check that required programs are installed '''
        required_apps = [
            'airmon-ng', 'iwconfig', 'ifconfig', 'aircrack-ng', 'aireplay-ng',
            'airodump-ng', 'tshark'
        ]
        optional_apps = [
            'packetforge-ng', 'reaver', 'bully', 'cowpatty', 'pyrit', 'stdbuf',
            'macchanger'
        ]
        missing_required = False
        missing_optional = False

        for app in required_apps:
            if not Process.exists(app):
                missing_required = True
                Color.pl('{!} {R}error: required app {O}%s{R} was not found' %
                         app)

        for app in optional_apps:
            if not Process.exists(app):
                missing_optional = True
                Color.pl(
                    '{!} {O}warning: recommended app {R}%s{O} was not found' %
                    app)

        if missing_required:
            Color.pl('{!} {R}required app(s) were not found, exiting.{W}')
            sys.exit(-1)

        if missing_optional:
            Color.pl('{!} {O}recommended app(s) were not found')
            Color.pl('{!} {O}wifite may not work as expected{W}')