Режим монитора на Mac - с Scapy

Я пытаюсь понять, что происходит, когда я ставлю на 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 и сниффу. Но в Mac я не получаю ничего похожего на 'mon0', фактически все интерфейсы неактивны в режиме мониторинга. Может ли кто-нибудь помочь мне понять, что происходит?

PS: WireShark и Tcpdump прекрасно работают в режиме монитора и scapy также захватывает кадры, когда не в режиме монитора. Но я заинтересован в кадрах управления, поэтому мне нужно scapy, чтобы захватить их в режиме монитора. ТИА:)

3 ответа

Это старый вопрос, вот ответ:

  • со старыми версиями scapy это просто невозможно
  • в более новых версиях Scapy (2.4.0+) просто сниффинг с помощью аргумента монитора

sniff([args], monitor=True)

Он показывает все пакеты!

Я думаю, вы ищете что-то вроде этого: Как я могу перевести интерфейс Mac OS X EN1 в режим монитора для использования с Python3 Scapy?

Возможно, не должно быть проблем с переключением между python3 и python27

Я знаю, что это старый вопрос, но у меня была такая же проблема. Я не уверен, почему 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

Надеюсь это поможет:)

Другие вопросы по тегам