3 Stimmen

Netzwerk nach einer bestimmten MAC-Adresse scannen - Android

Ich entwickle eine Anwendung zur Steuerung von Mehrzonen-Audioverstärkern. Um dies zu tun, muss ich eine Socket-Verbindung zu erstellen, so weit, dass gut funktioniert. Was ich tun möchte, ist statt der Benutzer mit manuell in die IP-Adresse eingeben möchte ich meine App automatisch das Netzwerk zu scannen, überprüfen Sie alle MAC-Adresse Match es auf die NIC-Datenbank, wenn es die Corp meines Verstärkers übereinstimmt, dann speichern Sie die IP-Adresse. Ist das möglich, wenn ja, wie? Oder gibt es einen einfacheren Weg, es zu tun?

7voto

Rorist Punkte 790

Ich machte es für meine App "Network Discovery" wie folgt: Schleife durch den IP-Bereich und dann einfach die IP anpingen, um die Mac-Adresse zu erhalten, die ich durch Parsen von /proc/net/arp erhalte. Es gibt wahrscheinlich einen besseren Weg, aber es funktioniert für mich.

Hier ist der Bereich Scannen: https://github.com/rorist/Android-network-discovery/blob/master/src/info/lamatricexiste/network/DnsDiscovery.java start und end sind ip adr as long.

Und hier ist die Analyse von /proc/net/arp: https://github.com/rorist/Android-network-discovery/blob/master/src/info/lamatricexiste/network/Network/HardwareAddress.java#L60

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X