Einzelnen Beitrag anzeigen

sharkx

Registriert seit: 25. Feb 2003
Ort: St. Ingbert
211 Beiträge
 
Delphi 7 Enterprise
 
#1

PortScanner -> Programm gibt keine Rückmeldung

  Alt 22. Apr 2003, 22:20
Huhu :>

Um zu sehen welche Ports bei mir offen sind, habe ich mir fix mal nen Portscanner geschrieben. Es geht auch soweit alles, aber in der zeit wo er scannt, kann ich an dem kleinen Tool absolut nichts mehr machen. Die Prozessor lastung derweil steigt auch nicht sehr in die höhe. An meiner Firewall jedoch sehe ich, das das programm noch am scannen ist.

Der Komplette Source:

Code:
procedure TForm1.Button1Click(Sender: TObject);
var StartPort : integer;
    EndPort : integer;
    i : integer;
begin
  Memo1.Lines.Add('Scanning ' + Edit1.text);
  StartPort := StrToInt(Edit2.Text);
  EndPort := StrToInt(Edit3.Text);
  if StartPort > Endport then
  begin
    MessageDlg('Ending Port have to be higher than starting port!', mtInformation, [mbOk], 0);
    exit
  end
    else
      for i := StartPort to EndPort do
  begin
  Label4.Caption := 'Scanning';
    try
      TcpClient1.Open;
      TcpClient1.RemotePort := IntToStr(i);
      TcpClient1.RemoteHost := Edit1.Text;
      if TcpClient1.Connect then
      Memo1.Lines.add(IntToStr(i));
      Label5.Caption := 'Current Port: ' + IntToStr(i);
      TcpClient1.Close;
         except
      on ESocketError do
        Application.ProcessMessages;
    end;
  end;
  Label4.Caption := 'Finish';
  Memo1.Lines.Add('-------------------------------------')
end;
Auserdem möchte ich ein "Stop" Button haben, jedoch weis ich nicht wie ich die laufende procedur anhalten kann?!
  Mit Zitat antworten Zitat