Delphi-PRAXiS
Seite 3 von 5     123 45      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Alle im Netzwerk befindlichen Clients scannen (https://www.delphipraxis.net/171639-alle-im-netzwerk-befindlichen-clients-scannen.html)

mjustin 16. Nov 2012 19:04

AW: Alle im Netzwerk befindlichen Clients scannen
 
Zitat:

Zitat von MuTzE.Y85 (Beitrag 1191585)
Ich will ein Tool schreiben, dass mir anzeigt, wann ein anderer Rechner im Heimnetzwerk online ist.
Also auf jedem Rechner ist eine Anwendung im Autostart und vermittelt dann seinen "Online-Status".
Auf meinem Rechner erkennt dann das andere/gleiche Programm, wann ein Rechner online ist.


Das müsste doch über diesen Multicast realisierbar sein oder? Im Router kann ich Freigaben erteilen falls notwendig.

Wenn die IP Adressen intern statisch sind, dann braucht man nur die jeweils andere(n) IP Adresse(n) zu pingen. Das ist wahrscheinlich schneller implementiert als IP Multicast. Ich würde nur eine Liste der IP Adressen hinterlegen und dann Indy TIdICMP für das Ping verwenden.

IP Multicast wäre allerdnings deutlich wartungsfreundlicher, da es keine solche Konfigurationsdatei braucht.

MuTzE.Y85 16. Nov 2012 20:06

AW: Alle im Netzwerk befindlichen Clients scannen
 
Die Adressen werden über DHCP vergeben.
Ich versuche mal die Methode von borstel. Wobei das mit dem Multicast schon nicht schlecht wäre. Da ich sowas noch nicht gemacht habe, wäre das ganz interessant.

MuTzE.Y85 16. Nov 2012 21:39

AW: Alle im Netzwerk befindlichen Clients scannen
 
Hoppala, es wird doch schwieriger :(

Ich hab ja was ganz wichtiges vergessen. Ich habe 2 Router im Netzwerk.
Eine Fritzbox da sind alle dran, und dann einen D-Link wo ich alleine dran bin.

Der IP-Kreis der Fritzbox ist 192.168.1.x und meiner vom D-Link ist 192.168.0.x

Unabhängig davon, dass ich den IP-Kreis kenne, wie würde ich da ran kommen?

Bummi 16. Nov 2012 21:57

AW: Alle im Netzwerk befindlichen Clients scannen
 
ins blaue geraten Netzwerkmaske und eigene IP für z.B. per WMI abgefragte aktive Netzwerkdevices ...

MuTzE.Y85 16. Nov 2012 22:17

AW: Alle im Netzwerk befindlichen Clients scannen
 
Hostname kann ich auch nicht ermitteln :gruebel:

Ist immer leer. Ich habe es über IdIcmpClient probiert, sowie über die WinSock Funktion. Geht beides nicht.
Mhhh.

Gintonik 17. Nov 2012 07:13

AW: Alle im Netzwerk befindlichen Clients scannen
 
@borstenei:

Dein Tool sieht ja schon mal sehr Professionell aus.
Ich glaube in Teilstücken würde es genau meinen Bedarf abdecken.

Den Adresspool herausbekommen habe ich schon hinbekommen.
Womit bzw. wie pingst du jetzt alle im Netzwerk an? (Indy?)

MuTzE.Y85 17. Nov 2012 09:04

AW: Alle im Netzwerk befindlichen Clients scannen
 
Pingen kannst du damit:

IP's anpingen


Indy würde ich lassen, da brauchste 1. Adminrechte und 2. kackt mir das immer mit dem Fehler #10040 ab.

mjustin 17. Nov 2012 09:35

AW: Alle im Netzwerk befindlichen Clients scannen
 
Zitat:

Zitat von MuTzE.Y85 (Beitrag 1191640)
Pingen kannst du damit:

IP's anpingen


Indy würde ich lassen, da brauchste 1. Adminrechte und 2. kackt mir das immer mit dem Fehler #10040 ab.

Ping unter WIndows braucht immer Admin-Rechte, nur bei Verwendung der icmp.dll trickst Windows und gibt sich die Rechte selbst. Microsoft weist auch darauf hin, dass icmp.dll in späteren Windows Versionen nicht mehr enthalten ist.

Zum 10040 wird ein sehr einfacher Workaround hier beschrieben:

Delphi Indy Ping Error 10040

Delphi-Quellcode:
MyIdIcmpClient.PacketSize := 24;


p.s. eine Lösung mit der man auch in mehreren Threads pingen kann wird hier beschrieben:

http://stackoverflow.com/questions/1...ltithread-ping

MuTzE.Y85 17. Nov 2012 09:37

AW: Alle im Netzwerk befindlichen Clients scannen
 
Zitat:

Zitat von mjustin (Beitrag 1191641)
Zitat:

Zitat von MuTzE.Y85 (Beitrag 1191640)
Pingen kannst du damit:

IP's anpingen


Indy würde ich lassen, da brauchste 1. Adminrechte und 2. kackt mir das immer mit dem Fehler #10040 ab.

Ping unter WIndows braucht immer Admin-Rechte, nur bei Verwendung der icmp.dll trickst Windows und gibt sich die Rechte selbst. Microsoft weist auch darauf hin, dass icmp.dll in späteren Windows Versionen nicht mehr enthalten ist.

Zum 10040 wird ein sehr einfacher Workaround hier beschrieben:

Delphi Indy Ping Error 10040

Delphi-Quellcode:
MyIdIcmpClient.PacketSize := 24;

Funktioniert nicht!!!!! Habe mich die halbe Nacht im Netz belesen, nichts brauchbares gefunden.
Ich pinge sogar mit 16 und es klappt nicht.

mjustin 17. Nov 2012 09:46

AW: Alle im Netzwerk befindlichen Clients scannen
 
Zitat:

Zitat von MuTzE.Y85 (Beitrag 1191642)

Ich pinge sogar mit 16 und es klappt nicht.

Welches Betriebssystem ist es, Windows 8?


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:16 Uhr.
Seite 3 von 5     123 45      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz