[Android Apps and Games] sinasiadat:
Reaver was ported to android and r4A is the GUI frontend that calls reaver... you can run reaver in a virtual machine (Kali linux, Ununtu, Debian, etc) . I like using Kali Linux because the alfa driver loads properly for the alfa rtl8187 without any needed setup. With reaver on the virtual machine, you can pass through the USB alfa adapter and put it into monitor mode (using aircrack suites "airmon-ng start wlan0") and the reaver commands to send to your new interface (usually mon0 if you have only passed in one adapter to the VM) are:

Usually, the only required arguments to Reaver are the interface name and the BSSID of the target AP:

./ reaver -i mon0 -b 00:01:02:03:04:05

The channel and SSID (provided that the SSID is not cloaked) of the target AP will be automatically identified by Reaver, unless explicitly specified on the command line:

./ reaver -i mon0 -b 00:01:02:03:04:05 -c 11 -e linksys

By default, if the AP switches channels, Reaver will also change its channel accordingly. However, this feature may be disabled by fixing the interface's channel:

./ reaver -i mon0 -b 00:01:02:03:04:05 --fixed

The default receive timeout period is 5 seconds. This timeout period can be set manually if necessary (minimum timeout period is 1 second):

./ reaver -i mon0 -b 00:01:02:03:04:05 -t 2

The default delay period between pin attempts is 1 second. This value can be increased or decreased to any non-negative integer value. A value of zero means no delay:

./ reaver -i mon0 -b 00:01:02:03:04:05 -d 0

Some APs will temporarily lock their WPS state, typically for five minutes or less, when "suspicious" activity is detected. By default when a locked state is detected, Reaver will check the state every 315 seconds (5 minutes and 15 seconds) and not continue brute forcing pins until the WPS state is unlocked. This check can be increased or decreased to any non-negative integer value:

./ reaver -i mon0 -b 00:01:02:03:04:05 --lock-delay=250

For additional output, the verbose option may be provided. Providing the verbose option twice will increase verbosity and display each pin number as it is attempted:

./ reaver -i mon0 -b 00:01:02:03:04:05 -vv

The default timeout period for receiving the M5 and M7 WPS response messages is .1 seconds. This timeout period can be set manually if necessary (max timeout period is 1 second):

./ reaver -i mon0 -b 00:01:02:03:04:05 -T .5

Some poor WPS implementations will drop a connection on the floor when an invalid pin is supplied instead of responding with a NACK message as the specs dictate. To account for this, if an M5/M7 timeout is reached, it is treated the same as a NACK by default. However, if it is known that the target AP sends NACKS (most do), this feature can be disabled to ensure better reliability. This option is largely useless as Reaver will auto-detect if an AP properly responds with NACKs or not:

./ reaver -i mon0 -b 00:01:02:03:04:05 --nack

While most APs don't care, sending an EAP FAIL message to close out a WPS session is sometimes necessary. By default this feature is disabled, but can be enabled for those APs that need it:

./ reaver -i mon0 -b 00:01:02:03:04:05 --eap-terminate

When 10 consecutive unexpected WPS errors are encountered, a warning message will be displayed. Since this may be a sign that the AP is rate limiting pin attempts or simply being overloaded, a sleep can be put in place that will occur whenever these warning messages appear:

./reaver -i mon0 -b 00:01:02:03:04:05 --fail-wait=360

unless you are referring to using an external antenna on your nexus 4 ... ive never connected an external antenna to a phone before but I would assume you would have to have the driver for monitor mode all ready to go and then have the interface be recognized by reaver wherever and however you end up running reaver on the device (either compiled for android or chrooted into a linux distro)