Arduino Wifi Shield with monitor mode ( promiscuous mode )
Does it have to be a shield?

I would consider buying a cheap Wi-Fi router instead with good open-source support and a way to interface it to the Arduino. Their price is near to the price of Wi-Fi shields.


They consume little power, can be powered by 5V and have built in Wi-Fi.
Some have a built-in USB port, most have a serial port, which can be used to talk to the Arduino.
You would have to put custom firmware on it, plus the program which receives the raw packets for you.


Specifically, I would get a TP-Link TL-WR703ND for this task.


It can be fed 5 Volts, or 3.3 Volts with a little hacking
It has USB
It also has serial, and you can even hack an I2C port onto it
It can run OpenWRT


More info on this particular router