Skip to content

Instantly share code, notes, and snippets.

@ankitshekhawat
Last active February 2, 2017 09:02
Show Gist options
  • Save ankitshekhawat/35b7ccfa3519f2c4179e867585a6d8e8 to your computer and use it in GitHub Desktop.
Save ankitshekhawat/35b7ccfa3519f2c4179e867585a6d8e8 to your computer and use it in GitHub Desktop.
A simple python wifi scanner for OSX using OSX's airport command line utility. Returns Mac Addresses and RSSI
from subprocess import check_output
import re
def scan_networks():
airport = '/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport -s'
rc = check_output(airport, shell=True).split('\n')[1:-1]
networks =[]
for i in rc:
i = i.lstrip().rstrip()
mac = re.search(r'([0-9A-F]{2}[:-]){5}([0-9A-F]{2})', i, re.I).group()
rssi = re.search(r'\-(\d)\w+', i, re.I).group()
networks.append([mac, int(rssi)])
return networks
@ankitshekhawat
Copy link
Author

ankitshekhawat commented Feb 2, 2017

With additional regex SSID, channel and security etc. can also be extracted

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment