Scan Network For A Specific MAC Address - Android

2019-03-09 14:20发布

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条回答
Lonely孤独者°
2楼-- · 2019-03-09 15:18

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

查看更多
登录 后发表回答