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.
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%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ß!
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;)
Tags und Links command-line windows networking arp batch-file