An iOS library for scanning local networks to discover connected devices and retrieve their IP, MAC address, hostname, and brand.
MMLanScan is an iOS library that scans local networks to discover connected devices and retrieve their details such as IP address, MAC address, hostname, and brand. It solves the problem of network diagnostics and device management on iOS by providing a lightweight, open-source solution for LAN scanning.
iOS developers building network diagnostic tools, IT management apps, or any application requiring device discovery on local networks.
Developers choose MMLanScan for its accuracy in detecting non-responsive hosts, support for various subnets, and ease of integration with both Objective-C and Swift projects, backed by a well-documented API and demo projects.
An iOS LAN Network Scanner library
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Detects hosts that don't reply to pings, providing more accurate network scanning results as highlighted in the README's technical improvements.
Supports scanning any subnet, not limited to /24, making it versatile for various network configurations beyond typical home networks.
Offers CocoaPods installation and clear documentation with demo projects for both Objective-C and Swift, reducing setup time.
Uses NSOperation and NSOperationQueueManager to improve scanning performance and maintain responsive UI interactions, as noted in version 2.0 updates.
MAC address and brand identification are broken on iOS 11 and above due to ARP table access changes, severely limiting device details on modern iOS versions.
The README's TODO section admits that the method to get hostname from IP address is not working, hindering full device identification.
Relies on Apple's SimplePing, which has known issues with Grand Central Dispatch (GCD), potentially affecting scanning reliability in background threads as mentioned in the TODO.