为什么AP不显示?为什么我的MAC不匿名?

时间:2019-06-03 16:30:27

标签: python wifi scapy 802.11

In this example是用于为Proberequest创建应答机的代码。 The result is AP正在显示在设备上。以下是我的代码。为了使它正常工作,我不得不进行一些更改。

import sys
import os
import time
from scapy.all import *
os.sys.path.append('/usr/lib/python2.7/dist-packages')

conf.iface = "wlan0mon" 

class ProbeRequest_am(AnsweringMachine):
    function_name = "pram"
        mac = "00:11:22:33:44:55"
    def is_request(self, pkt):
        return Dot11ProbeReq in pkt
    def make_reply(self, req):
        rep = RadioTap()
        rep /= Dot11(addr1=req.addr2, addr2=self.mac, addr3=self.mac, ID = RandShort(), SC= RandShort())
        rep /= Dot11ProbeResp(cap="ESS", timestamp=int(time.time()))
        rep /= Dot11Elt(ID="SSID",info ="Scapy !")
        rep /= Dot11Elt(ID="Rates", info=b'\x82\x84\x0b\x16\x96')
        rep /= Dot11Elt(ID="DSset", info=chr(10))
        return rep

ProbeRequest_am()()

首先,AP在我拥有的任何设备上都不可见。但是输出与我的设备在家里寻找我的AP有关。 AFAIK我的智能手机(iOS 12.2)不会将其实际的MAC用于Proberequest,并且该程序仅应对Proberequest作出反应。但这是正在运行的脚本的输出(我iPhone的实际MAC,但已更改为发布= d0:c5:f3:00:00:00):

RadioTap / 802.11 Management 4 d0:c5:f3:00:00:00 > ff:ff:ff:ff:ff:ff / Dot11ProbeReq / SSID='My_AP_at_Home' / Dot11Elt / Dot11Elt / Dot11Elt / Dot11Elt / Dot11Elt / Dot11Elt / Dot11Elt / Dot11Elt / Dot11Elt / Dot11Elt ==> RadioTap / 802.11 Management 5 00:11:22:33:44:55 > d0:c5:f3:00:00:00 / Dot11ProbeResp / SSID='Scapy !' / Dot11Elt / Dot11Elt
RadioTap / 802.11 Management 4 d0:c5:f3:00:00:00 > ff:ff:ff:ff:ff:ff / Dot11ProbeReq / Dot11Elt / Dot11Elt / Dot11Elt / Dot11Elt / Dot11Elt / Dot11Elt / Dot11Elt / Dot11Elt / Dot11Elt / Dot11Elt / SSID='+g' ==> RadioTap / 802.11 Management 5 00:11:22:33:44:55 > d0:c5:f3:00:00:00 / Dot11ProbeResp / SSID='Scapy !' / Dot11Elt / Dot11Elt

此脚本是否已经足够不足以对来自智能手机的MAC地址进行匿名处理?

0 个答案:

没有答案