问题
I'm designing an Application to control multi zone audio amplifiers. To do so I have to create a socket connection, So far that works fine. What I would like to do is instead of the user having to manually type in the ip address I would like my app to automatically scan the network, check all MAC address Match it to the NIC database, if it matches the corp of my amp, then save the ip address. Is that possible if yes how? Or is there an easier way to do it?
回答1:
I made it for my app "Network Discovery" like this: Loop through the ip range then just ping the ip to get the mac address, which I grab by parsing /proc/net/arp. There probably is a better way, but it works for me.
Here is the range scanning: https://github.com/rorist/android-network-discovery/blob/master/src/info/lamatricexiste/network/DnsDiscovery.java start and end are ip addr as long.
And here is the /proc/net/arp parsing: https://github.com/rorist/android-network-discovery/blob/master/src/info/lamatricexiste/network/Network/HardwareAddress.java#L60
来源:https://stackoverflow.com/questions/4179299/scan-network-for-a-specific-mac-address-android