IRCRehberi.Net- Türkiyenin En iyi IRC ve Genel Forum Sitesi  
 sohbet
Sohbet chat


Eggdrop, NeoStats, BNC Sunucu botları, kurulumları ve ayalarına bu başlık altından ulaşabilirsiniz.

💬 Bu Alana Reklam Ver ! 🎉 Hemen Katıl!
5Beğeni(ler)
  • 2 Gönderen Lexina
  • 1 Gönderen TövbekaR
  • 1 Gönderen Lexina
  • 1 Gönderen Zenia


 
 
Seçenekler Stil
Alt 04 Haziran 2025, 17:59   #1
Standart BotTrap Nedir?

BotTrap Nedir?


IRC ortamında kanallarda dolaşıp spam, flood, hızlı nick değişimi gibi saldırgan davranışları gerçek zamanlı tespit eden botlara BotTrap denir. Özellikle spam yapan, flood atan veya botnet üyelerini yakalamak için kullanılır.

Böyle bir bot;
- Kanaldaki kullanıcıların mesaj sayısını izler,
- Çok hızlı veya ardışık mesaj atanları floodcu olarak işaretler,
- Belirli nick değişikliklerini takip eder,
- Gerektiğinde kanala uyarı mesajı gönderir veya log tutar.


BotTrap Botu Nasıl Yazılır ve Kurulur?

1. Gerekli Araçlar


- Python 3 (Çoğu Linux dağıtımında ön yüklü)
- irc Python kütüphanesi (pip ile yüklenir)


[code=python]
pip install irc
[/code]

2. Temel Bot Kodu

[code=python]
import irc.bot
import time

class BotTrap(irc.bot.SingleServerIRCBot):
def __init__(self, channel, nickname, server, port=6667):
super().__init__([(server, port)], nickname, nickname)
self.channel = channel
self.msg_counts = {} # Kullanıcıların mesaj sayısı (dakika bazında)
self.last_reset = time.time()
self.nick_changes = {} # Nick değişikliklerini tutar

def on_welcome(self, connection, event):
connection.join(self.channel)
print(f"Bot kanala katıldı: {self.channel}")

def on_pubmsg(self, connection, event):
nick = event.source.nick
current_time = time.time()

# Her dakika mesaj sayısını sıfırla
if current_time - self.last_reset > 60:
self.msg_counts.clear()
self.last_reset = current_time

# Mesaj sayısını arttır
self.msg_counts[nick] = self.msg_counts.get(nick, 0) + 1

# Flood tespiti (örneğin 20 mesaj/dakika)
if self.msg_counts[nick] > 20:
warning = f"{nick}, flood yapıyorsun! Lütfen yavaşla."
connection.privmsg(self.channel, warning)
print(f"[UYARI] Flood tespit edildi: {nick}")

def on_nick(self, connection, event):
old_nick = event.source.nick
new_nick = event.target

self.nick_changes.setdefault(old_nick, []).append(time.time())

# Çok hızlı nick değiştirme tespiti (örneğin 5 sn içinde 3 değişiklik)
changes = self.nick_changes[old_nick]
changes = [t for t in changes if time.time() - t < 5]
self.nick_changes[old_nick] = changes

if len(changes) >= 3:
warning = f"{old_nick} çok hızlı nick değiştiriyor!"
connection.privmsg(self.channel, warning)
print(f"[UYARI] Hızlı nick değişimi: {old_nick}")

if __name__ == "__main__":
server = "irc.example.net" # IRC sunucu adresi
channel = "#kanaladi" # Takip edilecek kanal
nickname = "BotTrap" # Botun takma adı
bot = BotTrap(channel, nickname, server)
bot.start()
[/code]

3. Kurulum ve Çalıştırma


- Kod dosyasını örneğin bottrap.py olarak kaydet.
- Terminalde aşağıdaki komutla çalıştır:


Kod

python3 bottrap.py

- Bot belirtilen sunucu ve kanala bağlanacak, kanaldaki mesajları izlemeye başlayacak.


4. Nasıl Geliştirebilirsin?


- IP takibi: IRC protokolü izin verirse veya loglardan IP alabiliyorsan, aynı IP’den farklı nicklerin gelip gelmediğini kontrol edebilirsin.
- Mesaj içeriği analizi: Spam veya kötü kelimeleri filtreleyip otomatik uyarı veya kick atma fonksiyonu ekleyebilirsin.
- Flood sınırlarını özelleştirme: Süre, mesaj sayısı gibi parametreleri dışarıdan ayarlanabilir yapabilirsin.
- Loglama: Tespit edilen durumları dosyaya veya veritabanına kaydetmek.
- Çoklu kanal ve sunucu desteği: Birden fazla kanalda aynı anda çalışacak şekilde geliştirmek.


5. Neden Böyle Bir Bot?


IRC ortamında spam ve flood yaygın sorunlardır. Özellikle saldırganlar hızlı nick değiştirip, farklı sunucularda aynı anda bağlantı kurabilir. Bu bot sayesinde bu tür kötü niyetli davranışları anlık tespit edip, müdahale edebilirsin.


Özetle, BotTrap dediğimiz bot, IRC kanallarını kötü kullanıcı ve saldırganlara karşı koruyan, kendi yazdığın veya hazır modifiye ettiğin küçük ama etkili bir güvenlik aracıdır.
👍 2
 
Alt 04 Haziran 2025, 18:00   #2
Ey Allah'ım! Beni, bana nasip etmeyeceğin bir şeyin peşine düşürme!
TövbekaR - ait Kullanıcı Resmi (Avatar)

Standart

Emeğine sağlık güzel bir anlatım olmuş

👍 1
________________

Zaman zaman vazgeçmeli insan,rahatlamak için…
Hayatın kendisine ait olmayan bir şeymiş gibi geçip gidişini izlemeli.


BotTrap Nedir?
 
Alt 04 Haziran 2025, 18:12   #3
Standart

Tsk Ederim.

👍 1
 
Alt 04 Haziran 2025, 18:23   #4
Zamanın izleri kalır...
Zenia - ait Kullanıcı Resmi (Avatar)

Standart

Emegine saglik cok güzel anlatmışın

👍 1
________________

 
Alt 04 Haziran 2025, 18:24   #5
Standart

Tsk Ederim.

 
Alt 04 Haziran 2025, 20:12   #6
Standart

Emeğinize sağlık. Kodu siz mi yazdınız?

 


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı





Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 22:09.