Find every device on your Wi-Fi: IP, MAC, hostname, maker and a best guess at what it is (phone, router, PC, Linux box, smart TV). Combines a ping sweep, an ARP scan and the kernel's ARP cache, so sleeping phones show up too. Terminal, Tkinter and Pygame versions.
Website: https://cursedprograms.github.io/Scan-WIFI-Devices/
Farica☆Kimora © Cursed Entertainment
- Linux (it uses
ping -c,ip neighand raw ARP packets; on Windows it says so and stops). - Python 3.9+ and root for the ARP scan.
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt # requests, scapy, pygame
sudo -E ./venv/bin/python scan_wifi.py # terminal table
sudo -E ./venv/bin/python scan_wifi_tkinter.py # window with a sortable list and Refresh
sudo -E ./venv/bin/python scan_wifi_pygame.py # animated Pygame windowA scan takes about 15 seconds on a /24 network.
- Ping sweep of the whole subnet, 100 at a time - wakes devices up and fills the ARP cache.
- ARP scan with scapy (when it's installed and you're root).
- ARP cache from
ip neigh. - Each device gets its hostname (reverse DNS), its maker from the MAC (api.macvendors.com) and a type guess. Phones and tablets that randomize their MAC (the "locally administered" bit) are flagged as such, since no maker can be looked up for them.
Only scan networks you own or are allowed to scan.
python -m pytest checks the MAC and device-type helpers (run by the GitHub workflow on every push).
MIT, see LICENSE.
