IP Adressen im Lokalen Netzwerk Scannen

agent47

Aktives Mitglied
Ich brauche eine Funktion die mir die IP-Adressen aller im lokalen Subnetz befindlichen Rechner mit IP und Hostname ermittelt. Ich habe genau genommen schon eine lößung gefunden allerdings ist diese extrem langsam und für den praktischen Einsatz damit unbrauchbar, da ein voller durchlauf ca. 2 Stunden dauert.

Java:
new Thread() {
						
						@Override
						public void run() {
							
							boolean found = false;
							DefaultListModel lm = new DefaultListModel();
							l.setModel(lm);
							byte[] b = {(byte)192, (byte)168, 0, 0};
							for(int i = 0; i < 256; i++) {
								b[2] = (byte)i;
								for(int j = 0; j < 256; j++) {
									b[3] = (byte)j;
									try {
										InetAddress addr = InetAddress.getByAddress(b);
										if(!addr.getHostName().trim().equalsIgnoreCase(addr.getHostAddress().trim())) {
											lm.addElement("Host: " + addr.getHostName() + " Adresse: " + addr.getHostAddress());
										} else {
											continue;
										}
										found = true;
									} catch (UnknownHostException e1) {
										continue;
									}
								}
								
							}
							if(found == false) {
								lm.addElement("Keine Adressen gefunden");
							}
							
						}
					
					}.start();

Ich lasse eben einfach alle Adressen durchsuchen und schaue ob ein Hostname aufgelößt werden konnte aber das ist wie gesagt keine gute lößung, nur hab ich auch keinen besseren ansatz. Zum Testen wird das ergebnis vorerst lediglich in eine JList geschriben in der später auch alle vergbenen Adressen auswählbar sein sollen.
 

HoaX

Top Contributor
Eine 100% Lösung gibt es dafür nicht, aber das Thema gabs hier eigentlich schon oft genug.

Wozu brauchst du die denn? Dann kann man die passendste Methode auswählen.
 

agent47

Aktives Mitglied
Hab schon gegoogelt und hier im Forum gesucht aber keine wirklich zufriedenstellende lößung gefunden. Vorerst ist das rein informell, später könnten aber auch funktionen hinzukommen die Daten weiter zu verarbeiten. Wenn von jeder belegten Adresse ein InetAdress Objekt entsteht ist das vollkommen ausreichend.
 

Empire Phoenix

Top Contributor
Also denke man kann das ca. factor hostadressenanzahl beschleunigen, ich gehe mal davon aus das die meiste Zeit in einer blockierenden Function beim wartena uf den Timout verbracht wird?
Starte alle abfragen gleichzeitig, in jeweils einem einzelnen Thread.

Ist bestimmt keine saubere Lösung, aber könnte gut genug funktionieren um erstmal benutzt zu werden.

Alternativ könntest du per Processbuilder auf ping/ect zurückgreifen, oder dir per JNI/JNA eine C/C++ Lösung dazu wrappen
 

agent47

Aktives Mitglied
Werde mal die variante mit den Threads versuchen, möglicherweiße erreicht das eine bessere Performance.
An eine native C funktion habe ich auch schon gedacht, da gibt es aber zwei probleme, zum ersten geht damit die Betriebssystem unabhängigkeit dahin und desweiteren kann ich in C++ nur Grundlagen und das ist bei weitem nicht ausreichend für sowas. Zwar ist es nicht zwingend notwendig das es unter nicht Windows OS läuft, kann aber möglicherweiße zu einem späteren zeitpunkt nötig werden.
 
Zuletzt bearbeitet:

HoaX

Top Contributor
Wie gesagt gibt es eh keine Möglichkeit garantiert alle Host zu finden. Wozu brauchst du die denn alle? Evtl gibt es eine geeignetere Lösung für das Problem.
 

agent47

Aktives Mitglied
Wenn ich das ganze mit Threads mache und vor jedem neustart ca. 8ms warten lasse funtioniert es und such in etwa 8 Minuten, aber ziel ist eher eine Minute. Lasse ich alle hintereinander ohne Wartezeit starten kommt sehr schnell eine OutOfMemoryException.
Wie schon gesagt erstmal sind nur die Information wichtig welche Adressen belegt sind, später könnte es zum Beispiel sein das dann auf den belegten nach bestimmten Diensten wie Webserver oder ähnliches gesucht wird.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
V Alle Ip-Adressen eine Lokalen-Netzwerkes erfragen Netzwerkprogrammierung 9
M Adressen vergeben Netzwerkprogrammierung 9
M IP Adressen gespeichert in Arraylist ausgeben Netzwerkprogrammierung 3
S IP-Adressen rausfischen Netzwerkprogrammierung 45
N IP-Adressen und Hostnamen zuordnern bei TCP/IP (hosts setzen) Netzwerkprogrammierung 11
M IP-Adressen Netzwerkprogrammierung 6
B RMI-Server mit 2 IP-Adressen Netzwerkprogrammierung 5
M IP Adressen auslesen und in Windows/Linux übergeben Netzwerkprogrammierung 5
D Geräte im Lokalen netzwerk auflisten Netzwerkprogrammierung 1
C Client connection per Portforwarding auf einen lokalen Serverport Netzwerkprogrammierung 3
Semox Socket Selbstgeschriebenen Webserver im lokalen Netzwerk publizieren? Netzwerkprogrammierung 4
L Socket Socketverbindung nur im lokalen Netzwerk Netzwerkprogrammierung 12
P SocketServer im lokalen netzwerk suchen Netzwerkprogrammierung 2
S welche Rechner sind im lokalen Netz online Netzwerkprogrammierung 11
N HTML-Übertragung im lokalen Netzwerk mit Java - wie? Netzwerkprogrammierung 6
S Client-Server Chat Problem nur im lokalen Netztwerk Netzwerkprogrammierung 23
feuervogel Sockets - Lokalen Port aber nicht IP bestimmen Netzwerkprogrammierung 3
I ActiveMQ-Messages übers Netzwerk Netzwerkprogrammierung 13
M Socket Netzwerk Übertragung zwischen 4 Clients Netzwerkprogrammierung 2
temi (Netzwerk-) Kommunikation zwischen Anwendungen. Wie? Netzwerkprogrammierung 5
W Das Netzwerk entfernen mit Wifi Manager Netzwerkprogrammierung 1
F Neuronales Netzwerk - Genetischer Algorithmus Netzwerkprogrammierung 0
windl Sporadische Aussetzer im Netzwerk Netzwerkprogrammierung 10
T Broadcast-message über spez. Netzwerk-Schnittstelle Netzwerkprogrammierung 1
MaxG. Netzwerk Ping falsches ergebnis Netzwerkprogrammierung 7
T Netzwerk Login Felder ansprechen Netzwerkprogrammierung 1
B Netzwerk - Fernsteuerung Netzwerkprogrammierung 1
S Netzwerk-Framework gesucht Netzwerkprogrammierung 6
J Hilfe beim programmiern einer App zur Anmeldung im Wlan-Netzwerk Netzwerkprogrammierung 0
C Netzwerk Portzuweisungsproblem Netzwerkprogrammierung 0
I PingPong Spiel übers Netzwerk Netzwerkprogrammierung 1
M Verbindung zwischen zwei Pc in dem Selben Netzwerk Netzwerkprogrammierung 8
M PongSpiel Netzwerk Netzwerkprogrammierung 1
fLooojava Daten an ein Arduino im selben Netzwerk senden Netzwerkprogrammierung 1
I Netzwerk FileShare Program Netzwerkprogrammierung 2
K ByteArray über Netzwerk senden klappt nicht Netzwerkprogrammierung 5
D Ermitteln ob WLAN-Netzwerk UDP unterstützt Netzwerkprogrammierung 1
O 4Gewinnt Multiplayer - Netzwerk Problem (TCP) Netzwerkprogrammierung 1
B WebSocket Verbindungsaufbau aus localen Netzwerk Netzwerkprogrammierung 2
S Bilder durch's Netzwerk usw ... Netzwerkprogrammierung 10
Kr0e Dezentrales Soziales Netzwerk Netzwerkprogrammierung 48
G Klassen über Netzwerk kommunizieren lassen Netzwerkprogrammierung 6
vandread Zugriff auf Soziales Netzwerk mittels Java? Netzwerkprogrammierung 4
P Automatische Host suche im Netzwerk Netzwerkprogrammierung 3
D Socket Class über Netzwerk verschicken Netzwerkprogrammierung 2
S Netzwerk Verbindungsproblem mit Cajo Netzwerkprogrammierung 5
c_sidi90 ideale Lösung, Screen Capture über Netzwerk Netzwerkprogrammierung 3
J Komplexes Netzwerk-Spiel im Internet Netzwerkprogrammierung 13
J ObjectInputStream im Netzwerk Netzwerkprogrammierung 8
T ArrayList über Netzwerk senden! Netzwerkprogrammierung 5
A java im netzwerk anderen rechner runterfahren Netzwerkprogrammierung 3
U Datei über das Netzwerk einlesen und speichern Netzwerkprogrammierung 8
M Netzwerk Programmierung Netzwerkprogrammierung 2
F Netzwerk-Designkonzept Netzwerkprogrammierung 2
D Ring-Netzwerk - wie fange ich an? Netzwerkprogrammierung 3
X Password übers Netzwerk schicken jPasswordField Netzwerkprogrammierung 2
M Socket Bilder über das Netzwerk übertragen Netzwerkprogrammierung 4
c_sidi90 Alle Rechner im Netzwerk ermitteln Netzwerkprogrammierung 17
D Netzwerk-To-Do-Liste Netzwerkprogrammierung 5
S Socket nach anderen clients im netzwerk suchen Netzwerkprogrammierung 3
T Netzwerk-Dateiübertragung optimieren Netzwerkprogrammierung 15
G Netzwerk Speed checken Netzwerkprogrammierung 3
F Char über Netzwerk senden Netzwerkprogrammierung 6
I Objekte über das Netzwerk Netzwerkprogrammierung 5
B RMI RMI, Callback und Netzwerk Netzwerkprogrammierung 6
S Netzwerk und Objekte Netzwerkprogrammierung 5
G Netzwerk IP Frage Netzwerkprogrammierung 4
Akrillo Datei per Netzwerk senden Netzwerkprogrammierung 10
W funktionen übers netzwerk nutzen Netzwerkprogrammierung 4
Kr0e Versenden von Daten übers Netzwerk Netzwerkprogrammierung 30
M upnp Device-Discovery im Netzwerk Netzwerkprogrammierung 5
T Administration von Software auf Clients im Netzwerk Netzwerkprogrammierung 6
H MySQL übers Netzwerk Netzwerkprogrammierung 9
A Probleme mit kleinem Netzwerk Programm Netzwerkprogrammierung 30
T Pfadangabe beim kopieren übers Netzwerk Netzwerkprogrammierung 5
G Verschlüsselte Strings über Netzwerk verschicken Netzwerkprogrammierung 19
D robustes Netzwerk Netzwerkprogrammierung 2
G Datei performant im Netzwerk verschieben Netzwerkprogrammierung 4
D BufferedImage über das Netzwerk senden Netzwerkprogrammierung 2
E Netzwerk Fehlererkennung Netzwerkprogrammierung 11
M Pc's im Netzwerk auflisten Netzwerkprogrammierung 2
T Welches Netzwerk ist am bestern für. Netzwerkprogrammierung 2
ModellbahnerTT Problem feste String ins Netzwerk zu geben Netzwerkprogrammierung 5
A IRC-Server für das lokale Netzwerk? Netzwerkprogrammierung 12
TheJavaKid Anzahl der Server im Netzwerk Netzwerkprogrammierung 7
R Spiel auf Netzwerk auslegen? Netzwerkprogrammierung 10
R Applet & Netzwerk Netzwerkprogrammierung 4
K netzwerk durchsuchen Netzwerkprogrammierung 10
A array übers netzwerk (anfänger) Netzwerkprogrammierung 8
T Möglichkeit über das Netzwerk eine Funktion zu starten? Netzwerkprogrammierung 2
flashfactor Dateien im Netzwerk kopieren Netzwerkprogrammierung 2
R File chooser übers Netzwerk Netzwerkprogrammierung 3
A Betriebssystem über Netzwerk ermitteln Netzwerkprogrammierung 11
B Netzwerk-IP´s sammeln Netzwerkprogrammierung 16
S Netzwerk übers Internet Netzwerkprogrammierung 30
J Brauche hilfe bei Projekt: Netzwerk Chatprogramm Netzwerkprogrammierung 12
M anpingen, liste aller IPs im netzwerk erhalten Netzwerkprogrammierung 5
S Spiel über Netzwerk. Netzwerkprogrammierung 7
O wie schnell kann java netzwerk sein? Netzwerkprogrammierung 7
D Netzwerk Betrachtung mit vielen Clients Netzwerkprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben