Delphi-PRAXiS
Seite 1 von 5  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   LuckiePing (https://www.delphipraxis.net/65675-luckieping.html)

Luckie 19. Mär 2006 21:37


LuckiePing
 
Liste der Anhänge anzeigen (Anzahl: 3)
Da ja anscheinend Ping Programme gerade Mode sind: http://www.delphipraxis.net/internal...ct.php?t=78344 will ich auch mal meine Version vorstellen. Gerechterweise, muss ich sagen, dass ich die Ping Unit von retnyg benutze. Das Programm ist OpenSource und nonVCL.

Anzeigen von:
  • Computername
  • IP
  • MAC Adresse
  • Domain
  • Servertyp
  • Betriebssystem
  • Kommentar zum Rechner
  • Antwortzeit

Features:
  • Multithreaded
  • Verbose Mode
  • Rechner mit Freigaben haben ein ander4es Icon
  • Doppelklick öffnet den Rechner im Explorer

To do:
  • Benutzer kann Threadanzahl selber wählen (in vernünftigen Grenzen)
  • Export in eine CSV Datei

Aktuelleversion 1.0.6.320:
Performance verbessert. Ich habe gerade eben innerhalb von 30 Sekunken ein ganzes Subnet durchgepingt. (Verbose war deaktiviert, damit er nicht alle Informationen ermittelt.)
Bugfixes.
Sourcen zur Aktuellenversione werden nachgereicht.

Aktuelle Version: 1.0.6.321:
Threads auf 25 begrenzt. Bei 255 Threads verliert man etwas die Kontrolle und es dauert ewig bis alle Threads beendet sind, wenn man abbricht, da viele Threads blockiert sind, wenn sie gerade Informationen zu den Rechnern ermitteln.

Aktuelle Version: 1.0.6.322:
Rechner mit Freigaben haben ein entsprechendes Icon.
Doppelklick öffnet den Rechner im Explorer

Aktuelle Version: 1.0.6.327:
Sekunden korrigiert, waren wirkölich etwas schnell. ;)
Öffnen eine Rechners per Doppelklick oder Leertaste in einem eigenen Thread.

Aktuelle Version 1.0.0.7:
Vertauschte IP Adressen werden automatisch korrigiert
Vorerst die Final.

Aktueller Screenshot im Anhang.

gsh 19. Mär 2006 21:59

Re: LuckiePing
 
naja dauert halt ziemlich lange um einen adress bereich durchzuscannen
Also solltest vielleicht über Threads nachdenken

Außerdem wär ich dafür wenn er den Hostnamen nicht ermitteln kann des er "<unbekannt>" hinschreibt.

Naja sonst ist es aber ganz nett :wink:

Luckie 19. Mär 2006 22:01

Re: LuckiePing
 
Es läuft in einem Thread. Und wenn der Hostname leer bleibt, sollte es wohl deutlich sein, dass er nicht aufgelöst werden konnte. ;)

gsh 19. Mär 2006 22:04

Re: LuckiePing
 
ja es läuft in einem Thread ... (hab dabei eher an multi-threading gedacht)

imho schauts nicht gut aus wenn des leer bleibt

pacman1986 19. Mär 2006 22:34

Re: LuckiePing
 
Fett das mit dem bereich mach ich auch ma gleich :D

Edit :
Morgen .. Jetzt bin ich zu müde

Luckie 19. Mär 2006 23:33

Re: LuckiePing
 
So, noch eine neue Version (Download erste Posting). Jetzt sollte auch der Servertyp erkannt werden.

@gsh: Er braucht wahrscheinlich etwas länger als der von pacman, weil er noch weitere Informationen zu den Rechnern auslist.

turboPASCAL 19. Mär 2006 23:45

Re: LuckiePing
 
Nett. (kurtz(be)schreib) ;)

gsh 19. Mär 2006 23:51

Re: LuckiePing
 
ja ich wollte doch nur sagen des es ganz fein (schnell) wäre mehrere IPs gleichzeitig zu scannen

BUG: probier mal ne etwas größeren Bereich zu scannen sagen wir bis 255.255.255.255. Des mag dein Progi nicht gern :mrgreen:


Hmmm ServerTyp was verstehst du darunter?
LAN Manager workstation, LAN Manager Server find ich nicht gerade aussage kräftig jedenfalls sagt mir des amal nichts :stupid:

Muetze1 20. Mär 2006 00:10

Re: LuckiePing
 
Ganz witzig das Programm - aber ist Windows XP die Standardeinstellung? Weil mein Hardwarerouter wird als Windows XP gemeldet, genauso wie mein Hardware PrintServer - und bei beiden läuft 100%ig kein Windows drauf...

Aber ansonsten alles wunderbar.

Luckie 20. Mär 2006 00:11

Re: LuckiePing
 
Jupp, ich habe es schon verstanden, mal sehen, ob ich da was tricksen kann.

OK, den Fehler habe ich jetzt auch bekommen, mal schaun was das ist.

Die Servertypen sagen mir auch (noch) nichts, aber einem Administrator sollten sie eigentlich schon was sagen. Die Servertypen habe ich aus dieser Liste: http://msdn.microsoft.com/library/de...fo_101_str.asp

@Muetze: Eigentlich nicht. Ich gucje mir das mal an. ;) Stimmt denn bei den betroffenen Rechnern der Computername oder ist der "."?

Muetze1 20. Mär 2006 00:37

Re: LuckiePing
 
Liste der Anhänge anzeigen (Anzahl: 1)
http://www.muetze1.de/images/boards/luckieping.png

Die MAC's, IP's etc hauen hin, den Rest: siehe selbst. Die Zugriff verweigert bei JOE sind ok.

PrintServer ist die .20 und ist ein NetGear PS101.

Der Router .1 ist ein NetGear FVS318 VPN Server/Router

bei den IP Adressbereich nicht verwundern: die .0 war ein Test, ob er drauf "reinfällt"...

Luckie 20. Mär 2006 07:33

Re: LuckiePing
 
Hm. Den T-COM Router hat er bei mir auch mit Windows XP identifiziert:

Delphi-Quellcode:
function GetRemoteOS(const Computer: WideString; var Version: string): DWORD;
var
  res              : DWORD;
  s                : string;
  si               : Pointer;
  Major            : DWORD;
  Minor            : DWORD;
begin
  si := nil;
  s := '';

  res := NetServerGetInfo(PWideChar(Computer), 101, @si);
  if res = NERR_Success then
  begin
    Major := PSERVER_INFO_101(si)^.sv101_version_major;
    Minor := PSERVER_INFO_101(si)^.sv101_version_minor;
    if (Major = 4) and (Minor = 0) then
    begin
      s := 'Windows NT 4.0';
    end
    else if (Major = 5) and (Minor = 0) then
    begin
      s := 'Windows 2000';
    end
    else if (Major = 5) and (Minor = 1) then
    begin
      s := 'Windows XP';
    end
    else if (Major = 5) and (Minor = 2) then
    begin
      s := 'Windows 2003 Server Family';
    end;
  end;
  Version := s;
  NetApiBufferFree(si);
  result := res;
end;

C.Schoch 20. Mär 2006 11:17

Re: LuckiePing
 
Warum wird bei mir der Name des Routers nicht angezeigt? oder kann man den gar nicht auslesen?
Ist es Absicht, dass der pingende PC nich mit angezeigt wird obwohl er im Adressraum liegt!

Luckie 20. Mär 2006 11:19

Re: LuckiePing
 
da ich eine Windows API Funktuion nutze, um den Rechnernamen auszulesen wird das nicht klappen, wenn auf dem Router kein Windows Betriebssystem läuft.

Bei mir wird der pingende Rechner angezeigt in der Liste.

Luckie 20. Mär 2006 12:52

Re: LuckiePing
 
Aktuelleversion im ersten Beitrag. Ich habe etwas die Performance verbessert. ;)

gsh 20. Mär 2006 14:07

Re: LuckiePing
 
Zitat:

Zitat von Luckie
Aktuelleversion im ersten Beitrag. Ich habe etwas die Performance verbessert. ;)

Wie denn? Mehere Threads? :zwinker:

Luckie 20. Mär 2006 14:10

Re: LuckiePing
 
10 Stück. ;) Ich kann es leider nicht so richtig testen, um die optimale Anzahl Threads zu ermitteln. Hier an der Arbeit habe ich zwar ein größeres Netzwerk, aber ich kann ja nicht ständig hier wild durch die Gegend pingen. :mrgreen: Ich denke, ich werde es einstellbar machen in der nächsten Version.

gsh 20. Mär 2006 14:15

Re: LuckiePing
 
Naja ich kenn ein Prog des Benutzt 32 Threads ich glaub des ist eine gute zahl, einstellbar ist natürlich auch nicht schlecht

pacman1986 20. Mär 2006 14:18

Re: LuckiePing
 
k net lachen meins macht 245 threads und verwirft sie danach .... :D deswegen die zeit ..

Luckie 20. Mär 2006 14:20

Re: LuckiePing
 
Und was macht das Programm? Ich habe ja keine 32 Netzwerkadapter im Rechner, die cih einzeln ansteuern könnte. DFie Pings müssen ja doch über eine Leitung in und aus dem Rechner raus. ;)

Wie 245 Threads? Und was meinst du mit verwerfen?

gsh 20. Mär 2006 14:23

Re: LuckiePing
 
ja was woll er scannt eine IP pro Thread und terminiert ihn wieder
aber ich glaub er hat sich vertippt und meint 254

pacman1986 20. Mär 2006 14:28

Re: LuckiePing
 
im thread
Delphi-Quellcode:
freeOnTerminate := true;
und i haupt prog

halt dein erstellter thread

Delphi-Quellcode:
threadname.Terminate;
um es zu vernichten und arbeitspeicher frei zu machen

Delphi-Quellcode:
  for i:= 1 to 254 do begin
    Ping := TPingThread.create;
    ... bla bla bla
  end;
  delay(3000); //habs jetzt auf 3 sec funzt prima (Ping Timeout eine Chance geben)
  for i := 1 to 254 do begin
   Ping.Terminate;
  end;
Zitat:

Zitat von gsh
ja was woll er scannt eine IP pro Thread und terminiert ihn wieder
aber ich glaub er hat sich vertippt und meint 254

jep hab mich vertipppt

Luckie 20. Mär 2006 14:28

Re: LuckiePing
 
Ach so für jede IP einen Thread. Hm, ob da so sinnvoll ist. :gruebel:

pacman1986 20. Mär 2006 14:36

Re: LuckiePing
 
tja in 3 sec 254 ips und nur 2 mb speicher die dann sofort wieder verworfen werden ... ich hab kein problem damit ...
k ich habs sowieso gemacht um mit threads klar zu kommen :D

GimbaR 20. Mär 2006 15:01

Re: LuckiePing
 
moin,
finde dein Programm nit schlecht, sehr übersichtlich :cyclops:
Nur was mich wirklich "verwirrt" ist die Spalte Servertyp. Weil ich echt nit weiß, was das bedeuten soll :gruebel:, ich denk mir aber mal dass es wohl einen Unterschied geben muss zwischen LAN-Manager-Typ und Server-Typ. Ich bin gearde nicht in ner Domäne, aber ich könnte mir vorstellen dass der Servertyp nur bei Netzwerken mit Domänencontroller relevant ist. Bin mir aber absolut nicht sicher :roll:

Wegen den Threads: nimm doch einfach ein Edit in dem man die maximale Anzahl Threads selber bstimmen kann.

so far
GimbaR

Luckie 20. Mär 2006 15:02

Re: LuckiePing
 
Ich experimentiere gerade etwas. ;)

pacman1986 20. Mär 2006 15:06

Re: LuckiePing
 
bin gespannt. Wenn Luckie experementiert heisst das meistens demnächst ist ein fettes prog in der open source abteilung

kiar 20. Mär 2006 16:08

Re: LuckiePing
 
nicht schlecht Luckie,

aber <Prahlhans> mein Pda </Prahlhans> wird zwar erkannt, kann aber nicht zugeordnet werden.

raik

ichbins 20. Mär 2006 16:24

Re: LuckiePing
 
:thumb:

Echt super!

v.a. den übersichtlichen Aufbau (kein Schnickschnack) find ich gut.

zur Ping-Anzahl:

durch den (aktuellen?) 10-fach-Ping wird mein (56kbit) Netzwerk zu etwa 0,01-0.02% belastet und es braucht 100KB RAM. Hier solltest du wirklich nicht geizen. Du kannst ja gleich einen 5000-fach-Ping machen (20 .000-.255 [wie nennt sich das :oops:] pro Test)
am Schluss kann ich das ganze INet damit durchpingen :)

glkgereon 20. Mär 2006 16:51

Re: LuckiePing
 
also ioch muss leider sagen das das programm bei mir nicht startet... :-/

es passiert einfach nichts.

Windows 2000, SP4

Dj_Base 20. Mär 2006 16:54

Re: LuckiePing
 
Hi!

Richtig Cool! :-D

Bei mir macht er alles richtig (WinXP SP2) ...

Und das ist ja so wunderbar klein! :thumb:

mfg,
Dj_Base

Ultimator 20. Mär 2006 17:02

Re: LuckiePing
 
Ich hab jetz einfach mal n paar Internet-IPs durchgepingt. Die Progressbar ist am Ende angelangt und auch der Startbutton ist wieder aktiviert, allerdings kommen trotzdem nach und nach noch einige Hosts zur Liste hinzu :?

Luckie 20. Mär 2006 19:27

Re: LuckiePing
 
So aktuelle Version im Ahang mit ein paar Bugfixen. Warum das jetzt unter Windows 2000 nicht geht, weiß ich auch nicht. :gruebel:

Sharky 20. Mär 2006 19:31

Re: LuckiePing
 
Hallo Luckie,

warum "pushst" Du denn deine Beiträge?
Du weisst doch das Du dein Posting editieren kannst. :roll:

pacman1986 20. Mär 2006 19:32

Re: LuckiePing
 
schön schnell sogar schneller als meins glaub ich :D

Chewie 20. Mär 2006 19:38

Re: LuckiePing
 
Für jede Adresse einen eigenen Thread halte ich für sehr problematisch. Grundsätzlich macht es natürlich Sinn, mehrere Pings nebenläufig zu scannen, aber doch bitte nicht für 1000 Adressen 1000 Threads erstellen, die dann nach wenigen Milisekunden bereits wieder terminiert werden!

Erstelle lieber eine feste (oder einstellbare) ANzahl Threads, unter denen dann entweder von vorneherein der zu scannende Bereich aufgeteilt wird (einfacher, aber im Optimalfall nicht die beste Geschwindigkeit) oder sich die Threads aus dem Pool der noch zu scannenden Adressen die nächsten rausholen.
Auch wenn Threads relativ schnell erstellt und auch wieder beendet sind, drückt das die Performance doch schon gewaltig, wenn man das ständig macht. Unnötig zu erwähnen, dass noch andere Programm deinen Rechner benutzen wollen.

Luckie 20. Mär 2006 19:40

Re: LuckiePing
 
Innerhalb von wenigen Sekunden ist die Threadanzahl ja uf ca. 30 runter. Und wenn man nicht ständig pingt, sollte das kein Problem sein.

@pacman: Was machst du, wenn ein Rechner nicht innerhalb von 3 Sekunden reagiert? Dann hast du den nicht in deiner Liste.

Tubos 20. Mär 2006 19:45

Re: LuckiePing
 
@Chewie:
Zitat:

Grundsätzlich macht es natürlich Sinn, mehrere Pings nebenläufig zu scannen, aber doch bitte nicht für 1000 Adressen 1000 Threads erstellen, die dann nach wenigen Milisekunden bereits wieder terminiert werden!
Wenn du übers Internet pingst, dauert das Pingen länger, zum Beispiel 200ms.
Zitat:

Auch wenn Threads relativ schnell erstellt und auch wieder beendet sind, drückt das die Performance doch schon gewaltig, wenn man das ständig macht.
Man kann ja einmal 1000 Threads erstellen, und diese arbeiten sich dann durch. Will ich beispielsweise 10000 Adressen scannen, erzeugt das Programm 1000 Threads und jeder Thread scannt die 10 Adressen nacheinander durch.
1000 Adressen halte ich für nicht abwegig. Ich denke, das ist durchaus ein sinnvoller Wert beim Pingen übers Internet.
Vorausgesetzt der Windows-Scheduler ist intelligent genug, dass sobald ein Thread in den Wartezustand geht, sofort der nächste Thread dran ist. Aber da kennt sich Luckie eh aus.

@Luckie: Freu mich schon auf die Version, wo man die Threadanzahl frei wählen kann. Mich würde dann nämlich interessieren, mit welchen Werten man die besten Ergebnisse erzählt.

pacman1986 20. Mär 2006 19:46

Re: LuckiePing
 
korrekt ... zu langsam. normalerweise gibt es im lan so langsame rechner nicht.
Jedenfalls nicht bei meinen 2 Test Netzwerken :D

Luckie 20. Mär 2006 19:49

Re: LuckiePing
 
@Tubos: mal sehen, ob ich dazu noch komme. Ich will noch den Listview sortiren können, per Doppelklick soll sich der Rechner dann auch im Explorer öffnen und eine Exportfunktion einbauen. Wenn ich das habe, kann man über die Details nachdenken. ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:11 Uhr.
Seite 1 von 5  1 23     Letzte »    

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