Broadcast Ping

  • Antworten:6
  • OffenNicht stickyBentwortet

02.05.2012 17:53:17

Ich würde gerne die Anzahl(oder ungefäre) an Hosts ermitteln, die aktiv in dem Netzwerk sind, wo ich mich befinde.
Unter Android kann man Ping verwenden und damit ließe sich ja auch jeder Rechner leicht identifizieren.

(1) Bei der möglichen größe eines Klass A Netztes wäre das allerdings ein Ping von 17mio IPs, das würde ich gerne vermeiden!
(2) Man könnte ja theoretisch auch ein Ping an die Broadcastadresse schicken und in der arp liste nachschaun, welche verbindungen mein Geräte schon in dem Netz hatte.
Nun führe ich in meinem Quellcode
Runtime runtime = Runtime.getRuntime();
proc = runtime.exec("ping -b 10.10.255.255);
try {proc.waitFor();} catch (InterruptedException e) {e.printStackTrace(); }
aus, leider kommt der aus dem wait nicht mehr zurück.
Hat Jemand eine Erklärung dafür oder eine andere bessere Idee, außer das Iterieren duch möglichen IPs?

02.05.2012 19:44:19

Servus Franz,

das ist alles ganz harmlos ich möcht nur W-Lan Verbdinungen auf Qualität untersuchen und dazu würde ich auch gerne wissen wie viele im Netz sind, die mir Breitband abnehmen können.

ja, da Android-Handys im Linux laufen, muss -b da sein damit Broadcast Pings erlaubt werden, aber leider blockt er mir das ab :-/

10.05.2012 17:02:13

Für die Leute die irgendwann mal den Broadcastping machen wollen:

Rooten ist nicht notwendig, der Fehler lag ganz wo anders!
ein ping unter linux findet kein ende sofern man nicht die anzahl angibt ... in Folge dessen kam natürlich auch nie was zurück.