Using #ARP to determine other devices on your users network.

ARP is a low level protocol, that is used to provide mapping between IP addresses and MAC (Hardware) addresses. Using a command such as “Arp -a” on Windows will determine what devices are on the network.
From the MAC address, it it possible to determine the manufacturer of the Device, such as in this case, 3C-15-C2-* is Apple. So this could be a mac, or an iPhone, or an apple TV.
The interesting thing is that the Arp table is available on Android without Rooting, by reading the file
/proc/net/arp
This means that any android app, could build up a picture of it’s users home devices, once connected to the home WIFI.
This means, that an advertiser could tell what type of printer you have, to advertise the right brand of Ink.
If your phone connects to multiple networks, it could build up a picture of your Office network. How many computers are at your office? – Is it a design studio with 50 apple macs ?
iOS has the ARP cache locked down to developers, and in my mind, rightly so.