2

我正在编写一个 python 脚本来检测探测请求并打印出设备 MAC 地址、制造商和正在探测的 SSID。我现在想添加发现设备名称(例如:Gio 的 Iphone 5)并将其与其他结果一起打印的功能。

if p.haslayer(Dot11ProbeReq):                         
        mac = str(p.addr2)
        if p.haslayer(Dot11Elt):                          
            if p.ID == 0: 
                ssid = p.info                            
                if ssid not in clients and ssid != "":
                    clients.append(ssid)          
                    maco = EUI(mac)
                    macf = maco.oui.registration().org    
                    print len(clients),mac+" ("+macf+") <--Probing--> "+ssid
                    f.write (str(len(clients))+" "+mac+" ("+macf+") //"+" <--Probing--> "+ssid+"\n")
                    if mac not in mach:
                        mach.append(mac)
                        uni+=1                            

如何使用 python/scapy 获取设备名称?我知道设备正在探测的网络,所以我可以欺骗网络名称并尝试以这种方式连接并获取设备名称。但这似乎太长了,还有其他方法吗?也许制作一个数据包虽然很容易迫使设备泄露细节?

任何帮助表示赞赏!

我的 python 版本:2.7.3(默认,2014 年 3 月 13 日,11:03:55)[GCC 4.7.2] 我的 linux 版本:发行商 ID:Kali 描述:Kali GNU/Linux 1.1.0 版本:1.1.0 代号: moto Linux 版本 3.18.0-kali3-amd64 gcc 版本 4.7.2 Debian 4.7.2-5) ) #1 SMP Debian 3.18.6-1~kali2 (2015-03-02)

4

1 回答 1

0

简而言之:您不会获得 WiFi 的设备名称。设备名称永远不会在 802.11 帧内发送 [有关帧的详细说明,请参见此处]。

但是您可以使用蓝牙来归档获取设备名称,但请注意:蓝牙 mac 和 wifi 端的 mac 地址之间没有通用关联。

于 2017-01-27T17:29:56.590 回答