Mac 上的监控模式 - 使用 Scapy

问题描述 投票:0回答:3

我试图了解当我将 Mac 置于监控模式时会发生什么。在没有监视模式的情况下,使用 ifconfig,我发现“en0”是活动接口。但是,在监视模式下,这就是我得到的:

lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    options=3<RXCSUM,TXCSUM>
    inet6 ::1 prefixlen 128 
    inet 127.0.0.1 netmask 0xff000000 
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
    nd6 options=1<PERFORMNUD>
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    ether 70:56:81:b9:43:e5 
    nd6 options=1<PERFORMNUD>
    media: autoselect (<unknown type>)
    status: inactive
en1: flags=963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX> mtu 1500
    options=60<TSO4,TSO6>
    ether 32:00:1a:7f:0a:40 
    media: autoselect <full-duplex>
    status: inactive
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
    ether 02:56:81:b9:43:e5 
    media: autoselect
    status: inactive
awdl0: flags=8902<BROADCAST,PROMISC,SIMPLEX,MULTICAST> mtu 1484
    ether ee:85:08:e0:ba:17 
    nd6 options=1<PERFORMNUD>
    media: autoselect
    status: inactive
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=63<RXCSUM,TXCSUM,TSO4,TSO6>
    ether 72:56:81:9b:d1:00 
    Configuration:
        id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
        maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
        root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
        ipfilter disabled flags 0x2
    member: en1 flags=3<LEARNING,DISCOVER>
            ifmaxaddr 0 port 5 priority 0 path cost 0
    nd6 options=1<PERFORMNUD>
    media: <unknown type>
    status: inactive

我正在尝试使用 scapy 来嗅探无线网络。因此,当我运行 scapy 时,它会将 iface 显示为“lo0”,并且不会捕获任何数据包。我看过很多关于这个问题的答案,但大多数都是针对 ubuntu 的,并说当你将系统置于监视器模式时,你会得到“mon0”接口,然后将其传递给你的 scapy 和 sniff。但在 mac 中,我没有得到像“mon0”这样的东西,事实上所有接口在监视器模式下都处于非活动状态。有人可以帮我理解发生了什么事吗?

PS:WireShark 和 Tcpdump 在监控模式下工作得很好,scapy 在不在监控模式下也能捕获帧。但我对管理帧感兴趣,所以我需要 scapy 来捕获监视器模式下的帧。蒂亚:)

macos wifi scapy monitor ifconfig
3个回答
1
投票

这是一个老问题,答案如下:

  • 对于旧版本的 scapy,这是不可能的
  • 使用较新的 scapy 版本(2.4.0+),只需使用监视器参数进行嗅探


sniff([args], monitor=True)

它显示所有数据包!


-1
投票

我想你正在寻找这样的东西:How can I put mac os x en1 interface into Monitor mode to use with python3 scapy?

在 python3 和 python27 之间切换是可能的,应该不是问题


-1
投票

我知道这是一个老问题,但我也遇到了同样的问题。我不确定为什么 en0 在运行

airportd en0 sniff 1
airport sniff
后似乎被停用。

要在监控时保持设备处于活动状态,您可以使用

tcpdump

示例:

$ sudo tcpdump -nnvs0 -I -i en0 -w output.pcap

$ ifconfig
...
en0: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    ether 60:03:08:a5:fa:0c
    inet 192.168.1.33 netmask 0xffffff00 broadcast 192.168.1.255
    media: autoselect
    status: active

希望这有帮助:)

© www.soinside.com 2019 - 2024. All rights reserved.