Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Vor Netzwerk prozess warnen (https://www.delphipraxis.net/71264-vor-netzwerk-prozess-warnen.html)

ManuMF 13. Jun 2006 17:20

Re: Vor Netzwerk prozess warnen
 
Hallo,

Zitat:

Zitat von Gehstock
Ach nochwas im aktuellen versuch nach remote controlled Prozessen zu suchen macht er die abfrage bei programmstart und nach klick wie bekomme ich das hin das er permanent diese funktion aufführt ohne das ich noch was machen muss

Was meinst du damit? Welche Abfrage?

Gruß,
ManuMF

DGL-luke 13. Jun 2006 17:27

Re: Vor Netzwerk prozess warnen
 
na die traffic-abfrage...

mitm teatimer -> Delphi-Referenz durchsuchenTTimer oder in ner endlosschleife in nem thread (sleep nicht vergessen).

Hey, mir is da grad noch was gekommen: Vielleicht ruft das programm ja irgendeine netzwerk-API auf, oder eine zum screenshot machen etc. - die kann man vielleicht hooken.

EDIT: Vielleicht greift das Vieh auch selber auf hooks zu - dann muss man nur sehen, dass man früher drankommt, und ade hookchain... :twisted: (ich weiß, das gleicht einem vertrauensbruch gegenüber allen ernsthaften winapi-programmierern... :mrgreen: )

Vjay 13. Jun 2006 18:38

Re: Vor Netzwerk prozess warnen
 
Na wenn du schon soweit gehen würdest, dann kann man ja gleich den code überschreiben und dem chef ein vorgefertigtes video vorspielen :P

*EDIT*

PS. was macht denn dein Chef den ganzen Tag? Also bei uns arbeiten unsere Chefs auch und haben garkeine Zeit für so einen Quatsch.

Gehstock 13. Jun 2006 23:57

Re: Vor Netzwerk prozess warnen
 
Delphi-Quellcode:
unit Unit5;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, TlHelp32, ExtCtrls, Menus, ImgList;

type
  TForm5 = class(TForm)
    Image1: TImage;
    Image2: TImage;
    Timer1: TTimer;
    procedure Timer1Timer(Sender: TObject);


  private
       
  public
    { Public declarations }
  end;

var
  Form5: TForm5;
ContinueLoop: BOOL;
  FSnapshotHandle: THandle;
  FProcessEntry32: TProcessEntry32;
implementation

{$R *.dfm}

//Programm Start

function processExists(exeFileName: string): Boolean;

begin
  FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
  ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);
  Result := False;
  while Integer(ContinueLoop) <> 0 do
  begin
    if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
      UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) =
      UpperCase(ExeFileName))) then
    begin
      Result := True;
    end;
    ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
  end;
  CloseHandle(FSnapshotHandle);
end;



// Abfrage ob Prozess aktiv ist (z.B. Notepad.exe)

procedure TForm5.Timer1Timer(Sender: TObject);
begin
   if processExists('notepad.exe') then begin
    Image1.visible:=True;  //rotes Image
    Image2.visible:=False; //grünes Image
  end
  else begin
    Image1.visible:=False; //rotes Image
    Image2.visible:=True;  //grünes Image
  end;
end;

end.

Danke Luke genau so klappt das mit der dauerabfrage

Was den Rest des Projekte angeht danke ich den Leuten die wenigstens versucht haben mir zu helfen .Und nicht wie der rest über Sinn,Zweck und Rechtmäßigkeit zu diskutieren. Wenn ich das gewollt hätte würde ich mich woandershin wenden(es gibt sogar Foren für Rechtliche Dinge).Dachte das ist ein Delphi Forum.

Luckie 14. Jun 2006 00:04

Re: Vor Netzwerk prozess warnen
 
Mit Wissen ist auch immer Verantwortung verbunden.

BTW: Wo hast du den Code kopiert? Ich frage, weil ContiuneLoop als Boolean deklariert ist und dann doch wieder nach Integer gecastet wird. Warum ist es also nicht gleich ein Integer? :?

Vjay 14. Jun 2006 08:58

Re: Vor Netzwerk prozess warnen
 
Wenn ich mich Recht erinnere: Beachte aber das dieser Code nur ab Win2k aufwärts läuft.

Zitat:

Zitat von Gehstock
...Und nicht wie der rest über Sinn,Zweck und Rechtmäßigkeit zu diskutieren. Wenn ich das gewollt hätte würde ich mich woandershin wenden(es gibt sogar Foren für Rechtliche Dinge).Dachte das ist ein Delphi Forum.

Das hast du bei so einem, ich nenne es mal, "spaltenden Thema" nicht wirklich erwartet oder?
Tut mir leid wir sind halt auch nur Menschen und keine Antwort-Maschinen, daher wohl ungeeignet in deiner Firma zu einer Anstellung zu kommen (das musste nochmal sein :-D ). Nunja ich will mir kein weiteres Urteil erlauben, vielleicht hat dein Chef auch sehr schlechte Erfahrungen gemacht und seine Gründe, du wirst aber schon einsehen, dass wenn man so etwas hört, es doch erstmal grosses Unbehagen hervorruft.

Olli 14. Jun 2006 09:15

Re: Vor Netzwerk prozess warnen
 
Zitat:

Zitat von Luckie
BTW: Wo hast du den Code kopiert? Ich frage, weil ContiuneLoop als Boolean deklariert ist und dann doch wieder nach Integer gecastet wird. Warum ist es also nicht gleich ein Integer? :?

Ähem, Luckie? Hattest du nicht die Win32-Tuts geschrieben? BOOL ist ein LongBool (laut Retypisierung in Windows.pas). Der wird gegen $FFFFFFFF getestet, soweit ich mich entsinne. Der verhält sich also genau wie ein Integer (außer bei Tests) ...
Offensichtlich bestand bei dem Autor des Codes das Mißverständnis, daß bei BOOL nur gegen 1 und 0 getestet wird, was ein Irrtum ist. Es wird gegen (== 0) und (!= 0) getestet.

Gehstock 14. Jun 2006 10:07

Re: Vor Netzwerk prozess warnen
 
Wer gewillt und dazu fähig ist mir zu helfen soll sich per PM bei mir melden den erzähl ich die ganze geschichte wollte nur nicht alles im Forum breittreten. So böse wie ihr denkt bin ich gar nicht.

at Olli soll auch nur auf xp und 2003 arbeiten

Olli 14. Jun 2006 10:11

Re: Vor Netzwerk prozess warnen
 
Zitat:

Zitat von Gehstock
at Olli soll auch nur auf xp und 2003 arbeiten

??? :gruebel:

Evian 14. Jun 2006 11:48

Re: Vor Netzwerk prozess warnen
 
Zitat:

Zitat von Luckie
Mit Wissen ist auch immer Verantwortung verbunden.

Dem stimme ich in jeglicher Hinsicht zu. Werden Themen angesprochen, die sich womöglich in einer rechtlichen Grauzone befinden, dann ist ein Rat(von Jemandem der auch Ahnung hat) an dieser Stelle durchaus angebracht. Nicht destotrotz ist das "Internet / LAN / ASP.NET"-Forum der DP ein Ort an dem programmiertechnische Dinge besprochen werden sollten und nicht eine Diskussionsplattform für ethische oder juristische Aspekte. Gehstock hat ein Problem und bittet die DP-Community um Hilfe. Ich finde einfach, dass entweder einer der Moderatoren das Thema sperren sollte, weil er der Meinung ist, dass derartiges hier nicht behandelt werden darf, oder es helfen halt die Mitglieder, die dazu in der Lage sind und es wollen. Aber diese permanente Bewertung der Fragestellung, ohne wirklich etwas zur Lösung des Problemes beizutragen ist echt daneben. Es kommt hier immer häufiger vor, dass die Fragenden kritisiert werden, ob das nun gerechtfertigt ist oder nicht, ohne das ihnen irgendwie geholfen wird. Das war doch früher auch nicht so. Als ich mich vor ein paar Jahren hier angemeldet habe, war ich in erster Linie davon gut überrascht, dass ich auch die dümmsten Fragen stellen konnte und mir jeder Zeit geholfen wurde.

Gut jetzt mache ich genau den selben Fehler, den ich hier gerade kritisere, aber es wird auch das letzte mal sein, dass ich etwas dazu sage. @Gehstock: Soweit es mich betrifft, helfe ich Dir gerne weiter, also wenn ich dazu in der Lage bin. Wie weit bist Du denn mit deinem Vorhaben und wo gibt es noch Probleme?

gruß,

Evian

DGL-luke 14. Jun 2006 12:02

Re: Vor Netzwerk prozess warnen
 
@Gehstock: Ich helfe dir gerne, aber wozu PM? Das ist ein Forum, man teilt seine Erkenntnisse allen mit ;)

Du hast einen Code gepostet, mit dem du testest, ob ein Prozess läuft. Deinen Aussagen nach läuft er aber immer, man kann die Aktivität allerdings an Netzwerk- und an CPU-Belastung messen.

CPU wäre mir zu unsicher, das gibts zu oft falschen Alarm, es sei denn du testest direkt auf den Prozess. Das ist möglich:
http://www.delphipraxis.net/internal...ct.php?t=73537

Ansonsten eben die Netzwerkaktivität. Dafür musst du auf jeden Fall als Admin arbeiten, und brauchst einen Monitoring-Treiber.
Zum Beispiel WinPCap, mit dem zum Beispiel Ethereal arbeitet. Ich denke, das gibt es Delphi-Wrapper bzw. Importlibs.

Daniel G 14. Jun 2006 17:08

Re: Vor Netzwerk prozess warnen
 
Zitat:

Zitat von DGL-luke
Zum Beispiel WinPCap, mit dem zum Beispiel Ethereal arbeitet. Ich denke, das gibt es Delphi-Wrapper bzw. Importlibs.

Wobei dann die Frage wäre, ob er sowas überhaupt installiern darf. Nebenbeibemerkt, Gehstock, ist dieses Forum keine rechtsfreie Zone. Wenn das, was du hier machst, illegal sein sollte (ich kenne deinen Arbeitsvertrag ja nicht und bin auf diesem Gebiet auch nicht sonderlich bewandert), dürften wir dir eigentlich nicht helfen.

Olli 14. Jun 2006 18:50

Re: Vor Netzwerk prozess warnen
 
Zitat:

Zitat von Daniel G
Wenn das, was du hier machst, illegal sein sollte (ich kenne deinen Arbeitsvertrag ja nicht und bin auf diesem Gebiet auch nicht sonderlich bewandert), dürften wir dir eigentlich nicht helfen.

Wenn das Wörtchen "wenn" nicht wär, wär der Olli Millionär ...
Lassen wir das doch mal beiseite. Wir können sowieso nur mutmaßen. Es ist müßig sich in solchen Spekulationen zu ergehen. Die Konsequenzen für seine Taten muß er sowieso selber tragen, nicht du oder ich. Und zumindest offensichtlich ist es nix illegales.


Ich helfe auch gern weiter, wenn das Programm sinnvoller sein soll als "nur mal Prozesse auflisten". Aber nicht per PM, ich teile mein Wissen hier nur öffentlich ...

Zacherl 14. Jun 2006 20:04

Re: Vor Netzwerk prozess warnen
 
Das Einfachste ist es wirklich, wie schon mal erwähnt wurde, zu prüfen, ob der Port des Überwachungsprogramms (VNC?) nicht mehr den Status LISTEN, sondern ESTABLISHED hat.
Wenn du hier mal im Forum nach "offene Ports auflisten", oder Ähnlichem suchst, wirst du sicher fündig.
Zur Not kannst du sogar ab und zu einfach mal netstat aufrufen.

Florian

Evian 15. Jun 2006 08:18

Re: Vor Netzwerk prozess warnen
 
Das Funktioniert aber nur, wenn es sich bei dem Überwachungsprozess um einen "lauschenden" Server handelt. Ist es jedoch ein Client, der sich pei Prozessstart automatisch mit einem Überwachungsserver verbindet, dann bleibt die Verbindung die ganze Zeit auf "ESTABLISHED".

@Gehstock: Wie weit bist Du denn?

Olli 15. Jun 2006 09:02

Re: Vor Netzwerk prozess warnen
 
Zitat:

Zitat von Evian
Das Funktioniert aber nur, wenn es sich bei dem Überwachungsprozess um einen "lauschenden" Server handelt. Ist es jedoch ein Client, der sich pei Prozessstart automatisch mit einem Überwachungsserver verbindet, dann bleibt die Verbindung die ganze Zeit auf "ESTABLISHED".

Locker bleiben, auch der UltraVNC-Client hat einen Listen-Mode. Dieser dient aber nur dazu, eine "echte" Verbindung aufzubauen.

Evian 15. Jun 2006 10:06

Re: Vor Netzwerk prozess warnen
 
Zitat:

Zitat von Olli
Locker bleiben

Ich bin super locker! Wie ein frisch gebackenes Bisquittörtchen.


Zitat:

Zitat von Olli
auch der UltraVNC-Client hat einen Listen-Mode. Dieser dient aber nur dazu, eine "echte" Verbindung aufzubauen.

Welchen Zweck hat den dieser Listen-Mode, bei Client?! Auf was soll er denn horchen, wenn keine Connection zu einem VNC-Server besteht?!

mkinzler 15. Jun 2006 10:11

Re: Vor Netzwerk prozess warnen
 
Zitat:

Welchen Zweck hat den dieser Listen-Mode, bei Client?! Auf was soll er denn horchen, wenn keine Connection zu einem VNC-Server besteht?!
Er wartet, bis vom Server ne Anfrage kommt. Dienst dazu, daß der ferzusteuernde Client, den Vorgang anstoßen kann.

Evian 15. Jun 2006 10:20

Re: Vor Netzwerk prozess warnen
 
Wird hierfür nicht im Regelfall eine feste Socketverbindung (also "ESTABLISHED") genutzt? Sonst müsste sich der ja der Server in regelmäßigen Abständen immer wieder neu mit dem Client verbinden um zu wissen, welche Clients noch "online" und welche wieder "offline" sind, oder habe ich da einen logischen Fehler?

Olli 15. Jun 2006 11:54

Re: Vor Netzwerk prozess warnen
 
Zitat:

Zitat von Evian
Wird hierfür nicht im Regelfall eine feste Socketverbindung (also "ESTABLISHED") genutzt? Sonst müsste sich der ja der Server in regelmäßigen Abständen immer wieder neu mit dem Client verbinden um zu wissen, welche Clients noch "online" und welche wieder "offline" sind, oder habe ich da einen logischen Fehler?

Nene. Stell es dir vor wie eine Vermittlung. Sinn der Übung ist, daß der Client bei einem Kunden laufen kann, der z.B. Remote-Support gebucht hat und man dann zu diesem Client verbinden kann.

DGL-luke 15. Jun 2006 13:21

Re: Vor Netzwerk prozess warnen
 
das kommt ja nu ma ganz drauf an, ob das auch so ist bei diesem system.

Gehstock 16. Jun 2006 11:05

Re: Vor Netzwerk prozess warnen
 
Laut prozessmanager steigt die cpu belastung des agenten mit jeder anwendung die man öffnet kurzzeitig wärend dieser zeit ist aber keine netzwerkaktivität also kann man nur über die netzwerkbelastung eines bestimmten prozesses gehen da wir mehrere netzwerkprogramme haben

DGL-luke 16. Jun 2006 14:04

Re: Vor Netzwerk prozess warnen
 
du musst da nicht auf einen bestimmten prozess gehen.

du kannst einfach an einem bestimmten port alle pakete abfangen und analysieren.

Es gibt eine delphi-wrapper für winpcap, http://textver.filehungry.com/german...onents/packetx,
das ist ein ActiveX-Objekt, so viel ich bis jetzt ersehen habe.

Hier gibts ne Beschriebung, wie man das in Delphi einrichtet:
http://www.ureader.de/message/284306.aspx

Musst ein bisschen runterscrollen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:24 Uhr.
Seite 2 von 2     12   

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