2016-05-08 23 views
-1

Ich weiß nicht, ob es die richtige Community ist zu fragen (ich denke ja, übrigens), also entschuldige mich im Voraus, wenn das Thema nicht stimmt. Ich habe über ein Projekt in Android nachgedacht, bei dem ich weiß, wie viele Geräte sich in der Umgebung befinden. Gibt es eine Möglichkeit, es zu "entdecken"? Meine Idee ist so etwas wie diese:Netzwerkerkennung mit ARP

  1. mein Gerät eine Art von Broadcast-Ping per ARP sendet (oder einen Data Link Protocol)
  2. Jedes Gerät Antworten auf diese Ping
  3. Mein Gerät zählt, wie viele Antwort-Pings sind und das ist, wie viele umgebende Geräte sind.

Ich sage ARP oder einen Data Link Protocol, weil es „über WiFi-Verbindung“ sein sollte, nicht zu wissen, „wie viele Geräte mein Netzwerk verbunden sind“, aber

„wie viele Geräte mich umgibt“ Vielen Dank im Voraus!

+1

Netzwerkfragen müssen Programmierung beinhalten. Wenn Sie keinen Code haben, ist es ein Thema. – Laurel

Antwort

0

IPv4 ARP-Anforderungen sind Broadcasts, aber sie enthalten die spezifische IPv4-Adresse des Hosts, für den Sie die Layer-2-Adresse anfordern. Alle Hosts in der Layer-2-Domäne erhalten die ARP-Anfrage, aber nur der Host mit der spezifischen IP-Adresse antwortet auf die ARP-Anfrage.

Es gibt viele Möglichkeiten, wie LAN-Discovery-Tools funktionieren, aber keine der Methoden ist idiotensicher, da die Netzwerkprotokolle nicht mit LAN-Erkennung erstellt wurden. Es gibt auch Möglichkeiten, einige LAN-Geräte so zu konfigurieren, dass es für die Hosts schwierig zu erkennen ist, z. Private VLANs, bei denen Hosts im privaten VLAN mit keinem anderen Host im selben VLAN kommunizieren können, mit Ausnahme des Gateways.

+0

Ich habe nicht verstanden, wenn Sie sagen, dass es nicht getan werden kann oder kann – magicleon

+0

Es kann nicht mit ARP getan werden. Es gibt keine narrensichere Möglichkeit, dies zu tun. nmap kann eine Vielzahl von Methoden einsetzen, um dies zu erreichen, aber am Ende kann es auch Dinge vermissen oder durch Dinge wie private VLANs komplett vereitelt werden. –

+0

Uh ok, ich habe es. – magicleon