Режим монитора на 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
Надеюсь это поможет:)