How to get the MAC Address and signal strength of nearby wireless devices?

Well Everybody answered the Question for Windows Platform only. So, I thought It would be useful to answer for Linux Platform too. On Linux you can do the following:

Getting MAC Address of Devices connected in your network

You can Use a number of tools for thus task such as Netdiscover, arp-scan, nmap and even WireShark. These tools are basically used in Penetration Testing of Wireless Networks and can be used to get to know who is in the Network by knowing their IP Address and MAC Address.

ARP (Address Resolution Protocol) is used to map MAC addresses to IP addresses on an internal network. The router and switches send out broadcast ARP requests to all the MAC addresses on the network asking them to respond with their IP addresses. Each system will then respond with their IP address and the switch or other device will then create a small database that maps the MAC to the IP address, so that it it knows "who is who". Both the tools Uses ARP Packets to get this information.

  1. Using Netdiscover

    Netdiscover is used for the active or passive scanning of those wireless networks without the DHCP server. It can also be used for scanning hub/switched networks.

    netdiscover -i eth0 -r 192.168.2.0/24
    

    where -i denotes the interface (Here eth0) & -r denotes the `IP Range to be tested.

    See this Example

  2. Using arp-scan

    arp-scan (also called ARP Sweep or MAC Scanner) is a very fast ARP packet scanner that shows every active IPv4 device in the network. Since ARP is non-routable, it only works in local LAN (local subnet or network segment). It shows all active devices even if they have firewalls.

    arp-scan --interface=wlan0 [ --localnet ] 192.168.0.1/24
    

    Tutorial for using arp-scan & Full Documentation Here

Getting MAC Address of Devices NOT connected in your network

Well this part is an exact answer to your Question about both MAC Address and Signal of nearby devices. For this we can use Airmon-ng tool to setup a Wireless Monitor and then use Airodump-ng to dump the wireless signals from Monitor to Sreen. Both tools are part of Aircrack-ng, again a set of tools used for Penetration Testing of Wireless Networks. This is a prefect tool for what you want.

Using Aircrack-ng Suite is not quite easy but It's worth the time and effort. Writing all commands in the answer will make it quite boring, So A short steps of commands goes like this

  1. Check Interface Status:

    airmon-ng
    
  2. Check any Processes that can be troublesome to Airmon-ng & killing them:

    airmon-ng check kill
    
  3. Enable monitor mode (start) on the given wireless interface (wlan0)

    airmon-ng start wlan0
    

    where wlan0 is the name of wireless interface. Type iwconfig at terminal to get the wireless interface name of wireless device on your machine.

  4. Start Airodump-ng to dump the packets from Wireless Monitor

    airodump-ng mon0
    

    where mon0 is the monitor initiated on the interface wlan0. Now You will clearly see all the devices nearby you and everyone's MAC Address and signal Strength also. When done press Ctrl+C to stop Monitoring.

  5. Finally stop the Monitor mode on Interface

    airmon-ng stop wlan0
    

Note : It doesn't matters whether you are connected or not to a wireless Network for Using Airmon-ng. The only problem is that Using Airmon-ng commands need to put the Wireless Interface (on your device) into Monitor mode, as a result of which you will get disconnected to any Wireless Network, but the rest of all works perfect for what you need.

Complete Tutorial on Using Aircrack-ng Suite


Google Nearby can be used to find WiFi and Bluetooth devices. There are other utilities that perform a scan for any WiFi enabled device.

Nirsoft's "Wireless Network Watcher is a small utility that scans your wireless network and displays the list of all computers and devices that are currently connected to your network," showing MAC address and other information, and there are other alternatives.

For Linux, try LinSSID. N.B., it must be run as superuser. e.g. in Ubuntu, you can create a startup file as:

gnome-terminal -e "sudo linssid"


How can I get the MAC Address and signal strength of nearby wireless devices?

From a Windows PC you can:

1. Use WifiChannelMonitor from Nirsoft:

WifiChannelMonitor is a utility for Windows that captures wifi traffic on the channel you choose, using Microsoft Network Monitor capture driver in monitor mode, and displays extensive information about access points and the wifi clients connected to them. WifiChannelMonitor also allows you to view the information about wifi clients that are not connected to any access points, including the list of SSIDs (network names) that they are trying to connect.

Note:

  • This application requires the installation of Microsoft Network Monitor

Example output:

enter image description here

2. Use WifiInfoView from Nirsoft:

WifiInfoView scans the wireless networks in your area and displays extensive information about them, including: Network Name (SSID), MAC Address, PHY Type (802.11g or 802.11n), RSSI, Signal Quality, Frequency, Channel Number, Maximum Speed, Company Name, Router Model and Router Name (Only for routers that provides this information), and more...

When you select a wireless network in the upper pane of this tool, the lower pane displays the Wi-Fi information elements received from this device, in hexadecimal format.

WifiInfoView also has a summary mode, which displays a summary of all detected wireless networks, grouped by channel number, company that manufactured the router, PHY type, or the maximum speed.

Example output:

enter image description here

3. Use netsh from a cmd shell:

netsh wlan show networks mode=bssid

Example output:

> netsh wlan show networks mode=bssid

Interface name : Wireless Network Connection
There are 19 networks currently visible.

SSID 1 : TP-LINK_6A7CD0
    Network type            : Infrastructure
    Authentication          : WPA2-Personal
    Encryption              : CCMP
    BSSID 1                 : e8:94:f6:6a:7c:d0
         Signal             : 24%
         Radio type         : 802.11g
         Channel            : 4
         Basic rates (Mbps) : 1 2 5.5 11
         Other rates (Mbps) : 6 9 12 18 24 36 48 54

SSID 2 : Virgin Media
    Network type            : Infrastructure
    Authentication          : WPA2-Enterprise
    Encryption              : CCMP
    BSSID 1                 : d2:05:c2:fb:7d:89
         Signal             : 26%
         Radio type         : 802.11g
         Channel            : 6
         Basic rates (Mbps) : 1 2 5.5 11
         Other rates (Mbps) : 6 9 12 18 24 36 48 54
    BSSID 2                 : 52:0d:10:91:50:d9
         Signal             : 18%
         Radio type         : 802.11g
         Channel            : 6
         Basic rates (Mbps) : 1 2 5.5 11
         Other rates (Mbps) : 6 9 12 18 24 36 48 54

...

Further Reading

  • An A-Z Index of the Windows CMD command line
  • A categorized list of Windows CMD commands
  • Netsh Commands for Wireless Local Area Network (WLAN)

Disclaimer

I am not affiliated with Nirsoft in any way, I am just an end user of their software.