AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte LuckiePing
Thema durchsuchen
Ansicht
Themen-Optionen

LuckiePing

Ein Thema von Luckie · begonnen am 19. Mär 2006 · letzter Beitrag vom 2. Dez 2010
Antwort Antwort
Seite 16 von 17   « Erste     6141516 17      
Benutzerbild von Luckie
Luckie
Registriert seit: 29. Mai 2002
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.
Miniaturansicht angehängter Grafiken
luckieping_168.png  
Angehängte Dateien
Dateityp: zip luckieping_114.zip (116,1 KB, 861x aufgerufen)
Dateityp: exe luckieping_182.exe (38,0 KB, 644x aufgerufen)
Ein Teil meines Codes würde euch verunsichern.
 
Benutzerbild von nicodex
nicodex

 
Delphi 2007 Professional
 
#151
  Alt 5. Mai 2008, 18:13
Zitat von renekr:
Hast du diese Funktion mal unter Vista getestet oder liegt es ev. an Rechten oder der UAC.
IcmpSendEcho() mag unter Vista keinen TimeOut von 0.

Ersetze IcmpPing (in retPing.pas) durch diese Version:
Delphi-Quellcode:
(**)
type
  PIPAddr = ^TIPAddr;
  TIPAddr = record
    S_un: record
      case Integer of
        1: (
          S_un_b: record
            s_b1: Byte;
            s_b2: Byte;
            s_b3: Byte;
            s_b4: Byte;
          end);
        2: (
          S_un_w: record
            s_w1: Word;
            s_w2: Word;
          end);
        4: (
          S_addr: LongWord);
    end;
  end;
  PIpOptionInformation32 = ^TIpOptionInformation32;
  TIpOptionInformation32 = record
    Ttl : Byte;
    Tos : Byte;
    Flags : Byte;
    OptionsSize: Byte;
    OptionsData: LongWord; // Pointer32
  end;
  PIcmpEchoReply32 = ^TIcmpEchoReply32;
  TIcmpEchoReply32 = record
    Address : TIPAddr;
    Status : LongWord;
    RoundTripTime: LongWord;
    DataSize : Word;
    Reserved : Word;
    Data : LongWord; // Pointer32
    Options : TIpOptionInformation32;
  end;
(**)

function IcmpPing(IP: DWORD): Boolean;
var
  IcmpHandle: THandle;
  ReplyBuffer: record
    EchoReply: TIcmpEchoReply32;
  end;
begin
  Result := False;
  IcmpHandle := IcmpCreateFile;
  if IcmpHandle <> INVALID_HANDLE_VALUE then
  try
    FillChar(ReplyBuffer, SizeOf(ReplyBuffer), 0);
    Result := IcmpSendEcho(IcmpHandle, TInAddr(IP), nil, 0, nil, @ReplyBuffer,
      SizeOf(ReplyBuffer), 1000) <> 0;
  {$IFDEF DEBUG}
    if not Result then
      Assert(GetLastError() <> ERROR_INVALID_PARAMETER,
        'IcmpSendEcho: Invalid Parameters!');
  {$ENDIF DEBUG}
  finally
    IcmpCloseHandle(IcmpHandle);
  end;
end;
...dann sollte es wieder funktionieren.
Nico Bendlin
  Mit Zitat antworten Zitat
Benutzerbild von Der.Kaktus
Der.Kaktus

 
Delphi 7 Enterprise
 
#152
  Alt 5. Mai 2008, 18:20
@Luckie: Prima Progi ! ..habe nur festgestellt , bei einem Test eines groesseren IP-Adress-Bereichs, es wurden 7 Threads nicht beendet(Stand zumindestens in Deinem Programm)..waren ca. 2500 Geraete die ich gescannt habe. Aber Programm lies sich beenden(ohne abzuschiessen).
  Mit Zitat antworten Zitat
Benutzerbild von mleyen
mleyen

 
FreePascal / Lazarus
 
#153
  Alt 5. Mai 2008, 18:29
Zitat von Luckie:
Was für eine Auflösung benutzt du denn, damit ich mir das mal angucken kann.
1024 x 768er Auflösung

Habs grad unter Vista probiert, da findet der keinen Rechner.
  Mit Zitat antworten Zitat
renekr

 
Delphi 2007 Enterprise
 
#154
  Alt 5. Mai 2008, 18:37
Hi nico,
Danke für die Info.
Werd es morgen gleich testen.
Dann stelle ich das Ergebniss hier rein.

Also ich habe es implementiert und es geht super.
Auch unter XP funzt es immer ncoh.

Vielen Vielen Dank.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#155
  Alt 6. Mai 2008, 09:45
Zitat von Der.Kaktus:
@Luckie: Prima Progi ! ..habe nur festgestellt , bei einem Test eines groesseren IP-Adress-Bereichs, es wurden 7 Threads nicht beendet(Stand zumindestens in Deinem Programm)..waren ca. 2500 Geraete die ich gescannt habe. Aber Programm lies sich beenden(ohne abzuschiessen).
Dann sind noch nicht alle Pings zurückgekehrt.
Michael
  Mit Zitat antworten Zitat
Benutzerbild von Der.Kaktus
Der.Kaktus

 
Delphi 7 Enterprise
 
#156
  Alt 4. Jun 2008, 16:32
Hallo Micha,

haette noch 2 Sachen zu dem Programm zum aendern bzw. erweitern

1: bei Aufloesung (grosse Schriftarten)..ueberschreibt der Listview die Eingabefelder (IP-bereiche). ich loes das immer mit scaled=true..aber das ist ja nicht VCL.
2: evtl. eine Ini-Datei, welche man laden/speichern kann mit IP-Adress-Bereichen, bei Vielbenutzung sehr hilfreich.


P.S.: heute eins aus der CT probiert (testhalber)..kann zwar Auswahl..aber dauert sehr sehr!!! lange.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#157
  Alt 4. Jun 2008, 22:07
Zitat von Der.Kaktus:
2: evtl. eine Ini-Datei, welche man laden/speichern kann mit IP-Adress-Bereichen, bei Vielbenutzung sehr hilfreich.
Mal sehen, wen nich Zeit finde. Ich habe auch schon Verbesserungsvorschläge für den Usermanager und den Filecrypter auf der Liste stehen. Die mus sich nach und nach mal abarbeiten, wobei der Usermanager die höchste Priorität besitzt, weil ich damit etwas Geld verdiene.
Michael
  Mit Zitat antworten Zitat
renekr

 
Delphi 2007 Enterprise
 
#158
  Alt 24. Sep 2008, 16:43
Hi Lucky,
Ich habe mal ne Frage:
Ich nehme die GetIPAdress Function und wen n1 PC nicht an ist oder nicht existiert dauert es verständlicherweise sehr lang bis das Programm weitermacht bei mir.
gibt es da eine andere Lösung?
Kann ich ev. den Rechnername gegen den DHCP werfen udn bekomme dann eine IP ?

Danke
  Mit Zitat antworten Zitat
Benutzerbild von Mackhack
Mackhack

 
Delphi 2006 Architect
 
#159
  Alt 24. Sep 2008, 16:56
Gibts bei dieser Funktion keinen TimeOut den du setzen kannst?
  Mit Zitat antworten Zitat
Benutzerbild von jokerfacehro
jokerfacehro

 
Delphi 7 Enterprise
 
#160
  Alt 24. Sep 2008, 17:06
bei mir dauert das ewig, bis er intranet gescannt hat, vom adressbereich meiner inet adresse ganz zu schweigen, da braucht das proggi was im 1.beitrag verlinkt ist maximal 10sek.

ansonsten schöner aufbau, aber das von hand eingeben der adressen is ganz schön nervig und warum ist der bereich bis 255?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 16 von 17   « Erste     6141516 17      


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 18:36 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