AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Alle im Netzwerk befindlichen Clients scannen
Thema durchsuchen
Ansicht
Themen-Optionen

Alle im Netzwerk befindlichen Clients scannen

Ein Thema von Gintonik · begonnen am 16. Nov 2012 · letzter Beitrag vom 17. Nov 2012
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    
Gintonik

Registriert seit: 23. Feb 2008
17 Beiträge
 
#1

Alle im Netzwerk befindlichen Clients scannen

  Alt 16. Nov 2012, 12:08
Hallo,

ich habe ein kleines Problem und das bekomme ich irgendwie nicht gelöst.

Ich habe ein kleines Programm geschrieben, dass via FTP Dateien vom Host an einen Client überträgt.
Das funktioniert auch alles wunderbar.

Ich dachte mir nur, dass es für den Laien einfacher ist, anstatt seine eigene IP eingeben zu müssen, er Quasi den richtigen Client (seines Netzwerk) per Maus anklickt und die IP in mein Programm übernommen wird.

Ich habe auch diverse Netzwerkscanner gefunden. Diese finden allerdings nur Windows-Rechner.
Ich brauche quasi ein Script, was mir alle im LAN befindlichen Geräte (Ipad, Receiver, Xbox usw.) anzeigt, am besten auch mit dem Gerätenamen, um dann die Ergebnisse weiterzuverarbeiten.

Ich erwarte natürlich kein fertiges Script von Euch, aber vielleicht einen Hinweis, womit man sowas umsetzen kann...

Danke.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Alle im Netzwerk befindlichen Clients scannen

  Alt 16. Nov 2012, 12:13
Und der Client wartet auch fröhlich darauf per FTP Daten zu bekommen?

Ich dachte immer der Client fordert per FTP Daten von einem Server an und bekommt diese dadurch geschickt?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Gintonik

Registriert seit: 23. Feb 2008
17 Beiträge
 
#3

AW: Alle im Netzwerk befindlichen Clients scannen

  Alt 16. Nov 2012, 12:19
Um mein kleines Programm kurz zu erkären:

Der Client soll ja von dem Scanner erfasst werden, wenn er an ist.
Wurde er jetzt vom Scanner z.B. mit der IP 192.168.2.201 erkannt, so soll der User auf den Eintrag klicken können und mein Programm übernimmt die IP.
Dann drücke ich auf senden, mein Programm wählt sich via FTP in den Client ein und schiebt die Datei auf diesen.

so gesehen ist der Client jederzeit Empangsbereit. Und der Programmteil läuft ja auch einwandfrei.

Ich suche halt nur nach einer Lösung, dass das ganze Idiotensicher wird und auch der absolute Volllaie die neue Konfiguration seines Receivers aufspielen kann, ohne das ich ihm umständlich erklären muss, wie er an die IP seines Receivers kommt.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Alle im Netzwerk befindlichen Clients scannen

  Alt 16. Nov 2012, 12:23
Dann interessiert es dich aber nicht, ob das Device läuft, sondern ob das Device Daten per FTP empfangen kann.

Also musst du nur nach den Rechnern suchen, die einen bestimmten Port geöffnet haben.
z.B. mit TIdIcmpClient oder auch TIdTelnet
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.004 Beiträge
 
Delphi 2009 Professional
 
#5

AW: Alle im Netzwerk befindlichen Clients scannen

  Alt 16. Nov 2012, 12:25
Ich brauche quasi ein Script, was mir alle im LAN befindlichen Geräte (Ipad, Receiver, Xbox usw.) anzeigt, am besten auch mit dem Gerätenamen, um dann die Ergebnisse weiterzuverarbeiten.
Das geht indirekt, sofern keine Firewallrestriktionen bestehen, zum Beispiel mittels IP Multicast:

* Clients senden per UDP ihren Namen und IP Adresse ins Netz
* das Programm das den Clients Daten senden will, empfängt diese Nachrichten und weiss damit welche Clients es im Netz ansprechen kann, und kann deren Namen und IP Adressen in einer Liste darstellen

Das Problem besteht aber weiterhin, wie der Client den Transfer anstösst. Denn FTP Übertragungen werden vom Client gestartet.

Der Client muss also eine Verbindung zum Server aufbauen, über die der Server ihm mitteilt, sobald eine Datei für einen FTP Transfer bereit ist.

Daher kann man das IP Multicast auch weglassen und einfach im Server einen weiteren Port (Telnet zum Beispiel) öffnen, auf den sich der Client verbindet. Der Server kann dann über den Socket eine Nachricht an den Client senden, um den Transfer anzustossen.

Zitat:
Dann drücke ich auf senden, mein Programm wählt sich via FTP in den Client ein und schiebt die Datei auf diesen.
Mit FTP kann man Dateien nur auf einen Server schieben. Clients können Dateien nur vom Server herunterladen.
Michael Justin
habarisoft.com

Geändert von mjustin (16. Nov 2012 um 12:29 Uhr)
  Mit Zitat antworten Zitat
Gintonik

Registriert seit: 23. Feb 2008
17 Beiträge
 
#6

AW: Alle im Netzwerk befindlichen Clients scannen

  Alt 16. Nov 2012, 12:26
So kann man es natürlich auch ausdrücken.

Ich brauche quasi alle im Netzwerk befindlichen Geräte aufgelistet, die Port 21 offen haben.
  Mit Zitat antworten Zitat
Gintonik

Registriert seit: 23. Feb 2008
17 Beiträge
 
#7

AW: Alle im Netzwerk befindlichen Clients scannen

  Alt 16. Nov 2012, 12:28
Ich glaube, ich habe mich umständlich ausgedrückt:

Mein Programm wählt sich in den Server ein(Habe den Server fälschlicherweise als Client bezeichnet!).
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.004 Beiträge
 
Delphi 2009 Professional
 
#8

AW: Alle im Netzwerk befindlichen Clients scannen

  Alt 16. Nov 2012, 12:32
Ich glaube, ich habe mich umständlich ausgedrückt:

Mein Programm wählt sich in den Server ein(Habe den Server fälschlicherweise als Client bezeichnet!).
Dann wäre IP Multicast ein Lösungsweg. War auch kürzlich hier im Forum dargestellt:

http://www.delphipraxis.net/170850-k...-dienst-2.html

http://www.delphipraxis.net/170970-f...d-phone-2.html
Michael Justin

Geändert von mjustin (16. Nov 2012 um 12:35 Uhr)
  Mit Zitat antworten Zitat
Gintonik

Registriert seit: 23. Feb 2008
17 Beiträge
 
#9

AW: Alle im Netzwerk befindlichen Clients scannen

  Alt 16. Nov 2012, 16:27
Diese Multicast-Sache verstehe ich nicht so ganz.

Aber vielleicht habe ich mich auch total unglücklich ausgedrückt. Ich versuche den Sachverhalt nochmal neu zu äußern:

Im LAN gibt es einen Linux-FTP, an dem sich ganz normal via FTP eingewählt werden kann.
Es könnten aber auch zwei oder mehrere dieser Server im Netz sein.
Dazu kommen ja noch die Handelsüblichen Geräte (Tablet, Xbox usw...).

Ich möchte gerne ein Programm haben, der dass gesamte LAN abscannt und mir erreichbare IP-Adressen anzeigt.
Alternativ einen Scanner, der mir explizit Port 21-Geräte anzeigt.

Wenn der Scan durchgelaufen ist und ich z.B. 8 Geräte angezeigt bekomme, möchte ich dann per Mausklick die IP des gesuchten Gerätes übernehmen und damit weiterarbeiten.
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.004 Beiträge
 
Delphi 2009 Professional
 
#10

AW: Alle im Netzwerk befindlichen Clients scannen

  Alt 16. Nov 2012, 16:53
Diese Multicast-Sache verstehe ich nicht so ganz.

...

Wenn der Scan durchgelaufen ist und ich z.B. 8 Geräte angezeigt bekomme, möchte ich dann per Mausklick die IP des gesuchten Gerätes übernehmen und damit weiterarbeiten.
Bei Multicast spart man sich das Scannen, das Problem wird einfach umgedreht: anstatt alle erreichbare IP Adressen im Netz durchzunudeln (was in sicherheitsorientierten IT Umgebungen schnell dazu führt, dass ein IDS System einen Alarm auslöst), verbreitet der FTP Server seine Existenz aktiv per UDP.

Der Client, der eine Liste aller FTP Server sehen möchte, lauscht für kurze Zeit (zum Beispiel für die Dauer von drei Sekunden) auf einem UDP Port. Empfängt er während dieser Zeit den UDP Broadcast eines noch unbekannten FTP Servers, trägt er dessen IP Adresse in die Auswahlliste ein.

Nach drei Sekunden stoppt der Client dann den UDP Empfang und präsentiert die Auswahlliste der gefundenen FTP Server.

Anstatt an allen Servern einzeln "anzuklopfen" und zu fragen "kannst Du FTP?", wartet der Client einfach entspannt auf die eintreffenden Nachrichten:

* "Hier, Ich bin ein FTP Server mit der IP 1.2.3.4!"
* "Hallo, hier ist ein FTP Server mit IP 2.3.4.5"
...

Konkret habe ich das Auffinden von Apache ActiveMQ Brokern (Message Queue Server) über IP Multicast hier beschrieben:

Discover ActiveMQ brokers with Delphi and IP Multicast

Auf diesem Weg kann der Client einen Server finden, zu dem er sich anschliessend auf Port 616163 verbinden will.
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz