Entwickler-Ecke
Internet / Netzwerk - SocketError #10049
cl9wn - Fr 29.08.08 14:41
Titel: SocketError #10049
Hi, ich habe vor einen PortScanner zu programmieren. Quellcode:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| procedure TForm1.btnStartClick(Sender: TObject); var i: Integer; begin lbList.Clear; ClientSocket1.Host := editIP.Text;
for i := 100 to 200 do begin try ClientSocket1.Port := i; ClientSocket1.Open; ClientSocket1.Close; lbList.Items.Add('--- Open Port --- ' + IntToStr(i)); except end; end; end; |
Und dann ... wenn ich das Programm starte, beispielsweise localhost, 127.0.0.1 oder eine andere IP eingebe (Auch externe) kommt ein SocketError mit der Nummer 10049 ... Google konnte mir nicht wirklich bei meinem Problem helfen ...
Narses - Fr 29.08.08 14:58
Moin!
Warum jeder (angeblich) zum Lernen einen Portscanner programmieren muss, wird mir vermutlich für immer ein Rätsel bleiben... :roll:
Dein Ansatz ist komplett daneben, so geht das nicht. Du kannst nicht ereignisorientierte Komponenten in einer Schleife dieser Art verwenden, sondern musst auf das OnConnect- bzw. OnError-Error-Ereignis warten. In diesen Ereignissen kannst du dann den nächsten Port versuchen, aber nicht direkt im Ereignishandler, wird mit AV bestraft (indirekte Rekursion) -> sich selbst eine Nachricht schicken. Alternative: blocking-socket-calls nehmen und mit try-except arbeiten. :idea:
Aber: ein TCP-Connect-Portscanner wird von jeder halbwegs dämlichen Firewall ungefähr nach dem 5. Port geblockt, das ist sowieso zwecklos... :mrgreen:
Programmier doch einfach was, bei dem man auch was lernt, z.B. einen Chat mit Zusatzfunktionen oder ein Netzwerkspiel, da hast du mehr von. :zustimm:
cu
Narses
cl9wn - Fr 29.08.08 17:06
Natürlich, weiss ich was der Error bedeutet aber ich weiss nicht wie ich das verarbeiten soll in Delphi.
Narses hat folgendes geschrieben: |
Moin!
Warum jeder (angeblich) zum Lernen einen Portscanner programmieren muss, wird mir vermutlich für immer ein Rätsel bleiben... :roll: [...]
|
Ich will den nicht unbedingt programmieren um zu lernen, es schien mir nur sehr einfach zu sein, als ich folgendes Tutorial sah:
http://stephanmax.st.funpic.de/website/index.php?pageid=4
Falls das tut fürn *popo* ist ... sry aber sowas findet man halt so im Netz ;) Dann werd ich mich ma zum lernen an ein Netzwerkspiel setzen. Chat hab ich schon gemacht.
...
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!