![]() |
Port überprüfen
Ich möchte gerne überprüfen, ob ein bestimmter TCP-Port geöffnet ist, oder nicht.
Also so eine Art Portscanner, der im gesamten LAN nach PC's mit diesem offenen Port sucht. Mich interessiert im speziellen diese Überprüfung, ob der Port jetzt offen ist, oder nicht, was muss ich da machen? reicht da ein einfaches
Delphi-Quellcode:
oder geht das anders besser ???
IdTCPClient1.Connect(1000);
|
Re: Port überprüfen
Luckie hat einmal einen Portscanner geschrieben, such mal auf seiner Homepage danach.
|
Re: Port überprüfen
Schon gesucht, aber nichts gefunden ...
|
Re: Port überprüfen
Zitat:
![]() PS: @Luckie: Die Schrift auf deiner Seite ist etwas klein :roll: |
Re: Port überprüfen
Ich will ja, aber ich finde da irgendwie nichts von wegen "... .conect;"
Ich bin doch nicht etwa blind, oder ? |
Re: Port überprüfen
***PUSH***
Ein (verständliches) Beispiel wäre toll ... |
Re: Port überprüfen
Zitat:
|
Re: Port überprüfen
1. client.port setzen
2. connecten (mit timeout) 3. connect befehl mit einem try except block umklammern und bei exception ist der connect missglückt -> port zu 4. bei keiner exception (client.connected muss dann hierbei auf true sein) bist du connected -> port offen code ist aus dem kopf!
Code:
falls nicht ausgeschalten, wird dir aber delphi das programm anhalten wenn eine exception auftritt
if client.connected then client.disconnect;
client.port := 21; // port als beispiel 21 (FTP) try client.connect(5000); // 5 sekunden timeout if client.connected then offen := true; except offen := false; end; also die exe ohne die IDE starten damit es keine fehlermeldungen gibt an dieser stelle möchte ich aber noch darauf hinweisen, das es so wie es ist, die langsamste methode ist, ports zu scannen. besser bzw am besten ist es, threads zu verwenden, damit man in den wartezeiten beim connecten mehrere andere hosts bzw ports gleichzeitig connecten lässt und nicht alles nacheinander passiert ( im schlechtesten fall also pro port und pro host 5 sekunden ) mit threads könntest du eine x beliebige ( kommt auf die internetverbindung + cpu und ram und freie lokale ports ( max 65000 ) an ) anzahl von clients gleichzeitig connecten lassen bzw warten lassen bis connected ist.. näheres dazu findest du in diversen turoials bzw suchfunktion DP wenns hart auf hart kommt kann ich dir auch nen source von einem threaded portscanner von mir geben, was ich aber ungern tue, weil da hast du nix dabei gelernt |
Re: Port überprüfen
Hab's jetzt mal so probiert, aber der macht irgendwann nicht mehr weiter ...
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:39 Uhr. |
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