Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi http request/get flood (https://www.delphipraxis.net/142946-http-request-get-flood.html)

Valle 7. Nov 2009 16:54

Re: http request/get flood
 
Zitat:

Zitat von Alfi001
Nein. Er warten keine 2 Sekunden, sondern 2 Millisekunden! 2 Sekunden wären "Sleep(2000)".

Oh. Ich bin davon ausgegangen dass es in Delphi genauso so wie in Python und PHP ist. Naja, nicht so wichtig, er muss trotzdem erstmal den Request berichtigen und mehr Requests senden. Da währen einige parallele Threads wohl sinnvoll.

Liebe Grüße,
Valentin

painrestricter 7. Nov 2009 17:17

Re: http request/get flood
 
wie meinst du parallele threads?

kannst du mir da kurz ein codebeispiel geben?

painrestricter 8. Nov 2009 14:59

Re: http request/get flood
 
so ich habs jetzt nochmal versucht, diesmal mit indy idhttp

Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
begin
Label1.Caption := 'Flooding on Port 80 ... .';
while flood = true do begin
 idhttp1.Get('http://' + seite);
 idhttp1.disconnect;
 end;
 Application.ProcessMessages;
end;
leider kommt wieder ein error :(

Fehler:

Delphi-Quellcode:
 Im Projekt Project2.exe ist eine Exception der Klasse EIDSocketError aufgetreten. Meldung: Socket-Fehler #10061. Verbindung abgelehnt. Prozess wurde angehalten

was hab ich denn jetzt wieder falsch gemacht?

Valle 8. Nov 2009 20:45

Re: http request/get flood
 
Hallo,

nein, ich kann dir kein Beispiel geben. Ich kann kein Delphi.

An deinem Code sind einige Dinge etwas falsch. Zum einen kannst du dir das Application.ProcessMessages an dieser Stelle sparen. Wahrscheinlich willst du, dass das Programm nicht einfriert. Dann musst du die Anweisung aber in die Schleife setzen. Ich gehe aber auch davon aus, dass das nicht viel helfen wird. An dieser Stelle sind Threads die richtige Lösung. Du findest sicher was wenn du danach suchst. ;-) Außerdem sollte man es vermeiden auf True zu prüfen. Ersetze die Prüfung im While-Kopf doch bitte durch "while flood do". Der auftretende Fehler lässt sich wohl dadurch erklären, dass deine Seite-Variable Unfug enthält. ;-)

Liebe Grüße,
Valentin

painrestricter 8. Nov 2009 23:06

Re: http request/get flood
 
dass mit processmessages hab ich mir auch schon überlegt, hatte es auch schon in der schleife, hat nicht viel gebracht

ich habe auf meiner form zudem einen stop button, der den flood stoppen soll. das onclick ereignis ist also ganz einfach, ich setze einfach die variable flood auf false. Ich hoffe da hab ich keinen denkfehler drin.

seite enthält den string aus meinem editfeld, ich denke da kann der fehler nicht liegen.

himitsu 8. Nov 2009 23:25

Re: http request/get flood
 
Zitat:

Zitat von painrestricter
das onclick ereignis ist also ganz einfach, ich setze einfach die variable flood auf false. Ich hoffe da hab ich keinen denkfehler drin.

ohne .ProcessMessages IN der Schleife wird dein Button nur nicht reagieren können :stupid:

Zitat:

Zitat von painrestricter
seite enthält den string aus meinem editfeld, ich denke da kann der fehler nicht liegen.

und was steht in dem Edit?

Abgesehn davon:

1) warum willst du unbedingt einen Server überlasten?

Blos so aus Spaß und Langer Weile mach selbst ich sowas nicht.
Und hier wissen Einige, daß ich schon so manchen Scheiß machen.

2) du glaubst doch nicht wirklich, daß ein Server, mit 'ner ordentlichen Netzanbindung, sich von denn paar popligen Anfragen irgendwie gestört fühlt,
welche du, egal mit wievielen Threads, über deine knuffige Internetleitung rausbekommst?

painrestricter 8. Nov 2009 23:59

Re: http request/get flood
 
im editfeld steht dann zb. http://www.meineseite.de

naja, nicht aus spaß oder langeweilie, mich interessieren einfach solche sachen.
Ist einfach nur zur Übung. Und es gibt schon massenhaft doS tools, also ist es eigentlich auch schon egal ^^

danke :)

himitsu 9. Nov 2009 07:58

Re: http request/get flood
 
Zitat:

Zitat von painrestricter
im editfeld steht dann zb. http://www.meineseite.de

Dann hast du den Code wirklich nicht ganz verstanden.
Rate mal, was in folgender Zeile passiert?
Delphi-Quellcode:
idhttp1.Get('http://' + seite);
Zitat:

Zitat von painrestricter
Und es gibt schon massenhaft doS tools, also ist es eigentlich auch schon egal ^^

Wovon viele aber nichtmal wirklich was bewirken.

painrestricter 9. Nov 2009 13:28

Re: http request/get flood
 
naja, passt doch, http:// steht schon im editfeld, dann wird nur noch die url ohne http:// manuell eingegeben

letztendlich steht dann http://www.meineseite.de drin

hab jetzt versucht mehrere threads zu erstellen, ganz einfach indem ich um den eigentlich flood noch eine for schleife mit "threads" als schleifenvariable, aufgenommen durch ein textfeld erstellt hab.

jetzt funktioniert eigentlich alles soweit. Ich will aber versuchen, das ganze auf icmp und udp basis auszuweiten.

danke für die hilfe :)

Valle 9. Nov 2009 15:39

Re: http request/get flood
 
:gruebel:

Also... Ich bin kein Windows-API Fan und im Prinzip auch keinen detaillierten Plan des IP-Stacks ... aaaber eins kann ich doch mit großer Sicherheit sagen: Das was du da "Threads" nennst hat mit dem eigentlich Thema rein gar nichts zutun. Und was bitte willst du denn mit ICMP und UDP? Einen Server tot-pingen? :mrgreen:

Mein Tipp: Befasse dich lieber genauer mit HTTP und Threads. Da haste mehr von. Wenn du dich so wie ich für Sicherheit in der Informatik interessierst, dann darfst du ruhig um einiges tiefer in die Materie einarbeiten. Ich kann auch eigener Erfahrung sagen, dass das alles viel Spaß machen kann und tw. auch sehr interessant ist. Also geb dich damit nicht zufrieden, schau dir die Sache noch genauer an (zB selbst machen statt Indy benutzen) und harke bei jeder Sache nochmal nach. Was du bisher geschaffen hast ist eher der äußerst grobe Teil der Materie. ;-)

Lieber Grüße,
Valentin


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:13 Uhr.
Seite 2 von 3     12 3      

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