Network Scanner
July 27, 2026 Β· View on GitHub
Discover and analyze devices on your local network with no ads, no tracking, and no internet required.
π§ͺ Help Test on Google Play
We're working on getting Network Scanner published on Google Play. The app is already available there in closed testing, and we need real users trying it out to get it fully published.
- Join the Google Group (approval may take a few minutes)
- Once approved, opt in as a tester
- Install the app and open it a few times over the next two weeks
Thank you! This helps us reach far more users than F-Droid and GitHub alone.
Features
Device Discovery
- π Ping Sweep - Parallel ICMP ping sweep with TCP fallback for devices that block ICMP (e.g. Windows with firewall)
- π ARP Cache - Reads the ARP table to pick up devices without sending any traffic
- π‘ mDNS / Bonjour - Discovers services like AirPlay, Chromecast, printers, SSH, SMB, HomeKit, and more
- πΊ SSDP / UPnP - Finds UPnP devices and fetches their full description (friendly name, manufacturer, model number)
- πͺ NetBIOS - Resolves hostnames and workgroups for Windows and Samba devices
- π Port Heuristics - Identifies Cast-enabled TVs and other devices via targeted port probes when other methods come up empty
Device Information
- π·οΈ MAC Address & Vendor - Shows MAC address with OUI vendor lookup, including detection of randomized (private) MAC addressesΒΉ
- π₯οΈ OS Fingerprinting - Detects Windows, Linux, macOS, router firmware, and printer OS from open ports and banners
- π± Device Type Icons - Automatically identifies smartphones, laptops, desktops, TVs, routers, printers, NAS, and more
- π Deep Port Scan - Scans common ports, grabs service banners, and extracts software versions
- π§© Full Port Scan - Optional sweep of all 65,535 ports via a fast worker pool
- βοΈ Configurable Ports - Customize which ports are probed during scans
App
- π·οΈ Custom Devices - Rename devices and assign your own icons for easy identification
- πΆ Interface Selection - Choose which network interface to scan (Wi-Fi, Ethernet, VPN)
- π Multilingual - Available in multiple languages (see Translations)
- π¨ Material Design 3 - Modern interface following latest design guidelines
- π Privacy First - No ads, no tracking, no analytics
- π Lightweight - Minimal permissions, efficient battery usage
- π‘ Offline - Works completely offline, no internet required
Screenshots
Download
F-Droid
GitHub Releases
Download the latest APK from the Releases page.
Requirements
- Android 8.0 (Oreo) or higher
- WiFi connection to scan local network
Permissions
Network Scanner requests only essential permissions:
- INTERNET - For network communication
- ACCESS_NETWORK_STATE - To check network connectivity
- ACCESS_WIFI_STATE - To get WiFi information
- CHANGE_WIFI_MULTICAST_STATE - For network device discovery
- NEARBY_WIFI_DEVICES (Android 13+) - To discover nearby WiFi devices. On Android 16+ this permission also gates local network access (sockets to local addresses, mDNS, SSDP), so scanning cannot work without it
- ACCESS_FINE_LOCATION / ACCESS_COARSE_LOCATION - Optional. Used only to read WiFi network details such as the SSID, and never for location tracking; scanning works without it
Building from Source
Prerequisites
- Android Studio Hedgehog (2023.1.1) or later
- JDK 17
- Android SDK with API level 36
Build Steps
- Clone the repository:
git clone https://github.com/usamaiqb/network-scanner.git
cd network-scanner
- Open in Android Studio or build from command line:
./gradlew assembleRelease
- The APK will be in
app/build/outputs/apk/release/
Usage
- Open the app and grant necessary permissions
- Tap the scan button to discover devices
- Tap any device to view detailed information
- Use the deep scan option for port scanning, or run a full port scan for all 65,535 ports
- Rename devices or assign custom icons to keep track of your network
Translations
| Language | Progress |
|---|---|
| English | ββββββββββββ 100% (source) |
| Ψ§ΩΨΉΨ±Ψ¨ΩΨ© | ββββββββββββ 99% |
| EspaΓ±ol | ββββββββββββ 99% |
| Italiano | ββββββββββββ 99% |
| Π ΡΡΡΠΊΠΈΠΉ | ββββββββββββ 91% |
| Π£ΠΊΡΠ°ΡΠ½ΡΡΠΊΠ° | ββββββββββββ 99% |
| δΈζ (δΈε½) | ββββββββββββ 99% |
Contributions to translations are welcome!
Known Limitations
ΒΉ MAC addresses on Android 10+: Since Android 10, apps can no longer read other devices' entries from the system's ARP table (SELinux restriction). This means MAC address and vendor lookup reliably works for your own device (and sometimes the router), but shows as "Unknown" for other devices on the network on Android 10 and above. This is an OS-level restriction that affects all network scanner apps, not a bug specific to this app, and can't be worked around without root access.
Contributing
Contributions are welcome! Please read CONTRIBUTING.md for guidelines.
License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Privacy
Network Scanner:
- β Does NOT collect any personal data
- β Does NOT require internet connection
- β Does NOT contain ads or tracking
- β Does NOT share data with third parties
- β All scanning happens locally on your device
For full details, see the Privacy Policy.
Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Acknowledgments
Built with:
- Kotlin - Modern programming language for Android
- AndroidX - Android Jetpack libraries
- Material Design 3 - Modern design system
- Kotlin Coroutines - Asynchronous programming
Changelog
See CHANGELOG.md for version history and changes.
Made with β€οΈ for the open source community

