Unter Java mit Ping mehrere Rechner(25) pingen und dann mit Arp auswerten

Ham_burg

Grünschnabel
Hallo,

ich bin total neu hier.

Aber ich hoffe, dass man mir hier helfen kann. Bin bei Google immer wieder auf diese Seite gekommen. Also hier mein Problem:

ich bin in einer Klasse mit 25 Schülern. Ich möchte nun ein Programm unter Java schreiben, mit dem ich alle Rechner einmal anpingen kann, und dann mit arp-a auswerten kann, welche Rechner geantwortet haben.

Aber ich bin ehrlich, ich habe keinerlei Lösungsansatz. Und deshalb meine Frage, fällt hier in der Community vielleicht jemandem etwas ein ?

Ich wäre wirklich für JEDE Hilfe extrem dankbar.

LG

Ham_Burg
 
Hi und Willkommen bei tutorials.de

http://www.tutorials.de/java/255782-java-ping-absetzen-und-rueckgabe-einlesen.html
Zweiter Beitrag, zweiter Codeblock:
Ist ein Beispiel für Ping auf einen Rechner.

Vermute, die Rechner befinden sich im selben 255.255.255.0-Netz und haben DHCP?
Dann haben sie keine fixe IP, dH. man muss 255 IPs durchprobieren.
Weil das hintereinander etwas dauert: Threads verwenden.

Wenn die IP deines Rechner also zB. 172.16.33.24 ist,
müssen die IPs 172.16.33.1 bis 172.16.33.254 durchprobiert werden.


Mach also zuerst mal eine Arraylist oder so, in der du IPs/Strings speichern kannst.
Die wrd über synchronizes threadsicher gemacht.

Dann einen Thread programmieren, der zwei Variablen Von-Bis und die eigene IP bekommt.
Der probiert dann eben beim letzten der vier IP-Teile Von-Bis durch und pingt alles an.
Was erreichbar ist, wird in die Arraylist gespeichert.

Im main startest du zuerst die Threads, wartest auf das Fertigsein und gibst
dann den Inhalt der Arraylist aus.
 
Hui,

Danke @BK

Das sieht gut aus. Ich schau es mir an. Vielen Dank

@Sheel: das hatte ich gesehen, war mir aber nicht sicher, wie ich das umsetzten kann. Aber auch das werde ich mir anschauen ;o)

Ich muss euch echt mal loben. So schnell so hochwertige Hilfe.... DANKE
 
Zuletzt bearbeitet:
@sheel: Also die Rechner haben alle feste IP : 192.168.37.100 - laufend. Es sind sogar Namen (S01-S25) vergeben. Wenn es das dann einfacher macht.

Nur leider sind nicht immer alle Rechner eingeschaltet. Und wir möchten dann aber wissen, welche Rechner wirklich zu diesem Zeitpunkt im Netzwerk verfügbar sind.
 
Ah, das macht das Ganze ja noch viel einfacher.
25 Rechner geht schon ohne Threads...

Dann musst du eigentlichnur in so einer Schleife:
Java:
for(int i = 100; i < 125; i++)
{
    String ip = "192.168.37." + i;
    ...
}
den Ping aufrufen und ausgeben, ob es gepasst hat.
 
@sheel: vielen Dank !

Ich denke mal, ich probiere es morgen aus. Denn heute komme ich natürlich nicht mehr in das interne Netz.
Und dann melde ich mich morgen Abend wieder und kann dann berichten und ggfs. dieses Thema hier schließen / erledigen,

DANKE
 

Neue Beiträge

Zurück