Erhalte IP von der MAC-Adresse. arp -a zeigt kein Gerät an

8

Ich versuche eine Batch-Datei zu schreiben, die die dynamisch zugewiesene IP meines Android-Telefons finden soll, wenn es mit dem Netzwerk verbunden ist (Tenda WiFi Router).

Also versuche ich arp -a und suche nach der MAC-Adresse meines Telefons, damit ich seine IP von der Tabelle bekommen kann.

%Vor%

Das Problem ist, dass es nicht in der Tabelle angezeigt wird! Ich habe ping 192.168.0.255 ausprobiert, aber es taucht immer noch nicht auf. Ich habe versucht, 192.168.0.100 (IP meines Desktop-PC) aus dem Browser des Telefons anfragen, und das bringt genug das Telefon auf den Radar. Aber ich habe nicht die Möglichkeit, dies jedes Mal manuell zu tun, wenn ich möchte, dass es in der arp-Tabelle erscheint.

Wie bekomme ich das Android-Telefon in der Arp-Tabelle erscheinen (ohne etwas davon zu tun, abgesehen von der Verbindung mit WiFi)?

Gelöst: Gelöst mit Ping. Es dauert nicht mehr als ein oder zwei Sekunden. BEARBEITEN 2: Einige mehr aktualisiert. Hier ist die endgültige Batch-Datei:

%Vor%     
SouPress 20.08.2014, 12:16
quelle

5 Antworten

4

Ich habe es versucht und es funktioniert:

%Vor%

Wenn das Telefon ICMP aktiviert hat, sollten Sie kein Problem haben.

    
PaddyD 20.08.2014, 13:19
quelle
1

Wenn Sie IP von MAC finden möchten, tun Sie dies

%Vor%

Beachten Sie, dass Sie YOUR-MAC mit Ihrer Mac-Adresse ersetzen müssen, indem Sie einzelne Anführungszeichen beibehalten

Wenn Sie jetzt die MAC-Adresse von einigen IP-Adressen finden möchten, versuchen Sie Folgendes:

%Vor%

Viel Spaß!

    
Aloiso Junior 05.02.2015 10:58
quelle
1

Dieser Batch-Code ruft das Folgende ab,

  1. PC-Name
  2. IP-Adresse
  3. MAC-Adresse
  4. Computerbeschreibung (falls verfügbar)

Bitte speichern Sie den folgenden Code im Format anyName.bat und führen Sie ihn aus. Es wird die Ergebnisse in einer separaten Textdatei ausgeben.

%Vor%

Screenshots für Referenzen,

    
M.S.Arun 19.03.2017 15:07
quelle
0

das könnte funktionieren

%Vor%

oder

%Vor%     
Yash Ojha 20.08.2014 13:14
quelle
0
M.S.Aruns Antwort ist in der Nähe der besten. Ich hatte dieses Problem für das Abrufen der IP-Adresse einiger virtueller Maschinen, für die alles, was ich hatte, die MAC-Adresse war. Eine Menge Antworten wie M.S.Aruns ist überall auf stackoverflow und anderswo, aber niemand erklärt sie, noch erklärt die Lösung richtig (IMHO).

Ich habe versucht, alle Subnetze anzupingen und dann einen arp-Befehl auszuführen. Das Problem war, dass mein IP-Bereich 60k + mögliche IP-Adresse hatte und nach dem Scannen aller von ihnen (was nicht so einfach war, und wirklich hässlich mit dem Startbefehl) war die Arp-Tabelle wirklich schlecht bevölkert ... Übrigens dauerte es 30 Sekunden, sogar beim Versuch mit "start ping". Ich fand schließlich heraus, dass das arp, das eine Cache-Tabelle ist, sich periodisch spült, weshalb diese Methode selten erfolgreich war.

Die Lösung besteht darin, alle Subnetze zu pingen, aber nach jedem Ping einen arp-Befehl auszuführen, um zu sehen, ob die IP mit Ihrer MAC-Adresse übereinstimmt. Dadurch wird sichergestellt, dass Sie aufgrund der Cache-Natur der arp-Tabellen keine Informationen verlieren. Um es richtig zu machen, habe ich das in Java implementiert; Die isReachable () -Methode ist wirklich sauberer und es gibt keine Cmd-Aufforderungen, die überall auf meinem Bildschirm erscheinen. Darüber hinaus dauert das Durchsuchen von IPs mit 60.000 ms bis zu 10 Sekunden mit Java-Threads. Ich denke, es ist sicherer als Batch-Skripting ...

Siehe threadedScan () Methode hier Das nimmt ein Array von IPs und sucht nach der MAC-Adresse.

Hoffe, das kann helfen;)

    
eaz 24.06.2017 13:24
quelle