mIRC Script

mIRC CTCP Cevapları: VERSION, PING ve Özel CTCP Komutları

· Güncelleme: · 5 dk okuma

mIRC CTCP Cevapları: VERSION, PING ve Özel CTCP Komutları
İçindekiler
  1. Standart CTCP Komutları
  2. on CTCP Olayı
  3. Gelen Cevapları Yakalamak
  4. VERSION Cevabını Özelleştirmek
  5. Özel CTCP Komutları
  6. CTCP Flood'una Karşı Önlemler
  7. ACTION ve DCC
  8. Gizlilik Boyutu
  9. Gerçek Bir Senaryo
  10. CTCP'nin Bugünkü Yeri
  11. Ağ Kurallarını Gözden Geçirmek
  12. Sonuç

IRC'de istemciler yalnızca insanlara mesaj göndermez; birbirlerine de yapılandırılmış mesajlar yollar. Bir kullanıcının hangi istemciyi kullandığını öğrenmek, bağlantı gecikmesini ölçmek, dosya transferi başlatmak veya saatini sormak için CTCP (Client-To-Client Protocol) kullanılır. Bu rehberde mIRC'te CTCP mesajlarını nasıl yöneteceğinizi, cevapları nasıl özelleştireceğinizi ve hangi gizlilik önlemlerini almanız gerektiğini anlatıyoruz. CTCP'nin genel işleyişi için IRC CTCP yazımıza bakabilirsiniz.

Standart CTCP Komutları

KomutNe sorar?
VERSIONHangi istemci ve sürüm kullanılıyor
PINGBağlantı gecikmesi ne kadar
TIMEYerel saat kaç
FINGERKullanıcı hakkında bilgi
USERINFOKullanıcının belirlediği bilgi notu
CLIENTINFOHangi CTCP komutları destekleniyor
ACTIONEylem mesajı (/me)
DCCDoğrudan bağlantı isteği

Bir kullanıcıya CTCP göndermek için:

/ctcp Ayse VERSION
/ping Ayse

on CTCP Olayı

Gelen CTCP mesajlarını yakalamak için:

on *:CTCP:VERSION:*: {
  .ctcpreply $nick VERSION Benim ozel istemcim
  halt
}

Olayın yapısı: seviye, CTCP komutu, nerede dinlendiği. .ctcpreply komutu cevap gönderir; başındaki nokta, kendi pencerenizde çıktı gösterilmesini engeller.

halt komutu mIRC'in varsayılan cevabını engeller; kendi cevabınızın tek başına gönderilmesini sağlar.

Gelen Cevapları Yakalamak

Gönderdiğiniz CTCP'ye gelen cevapları işlemek için ayrı bir olay kullanılır:

on *:CTCPREPLY:VERSION*: {
  echo -a $nick kullandigi istemci: $2-
  haltdef
}

Bu, kanaldaki kullanıcıların istemcilerini toplayan scriptlerin temelidir: Kanala CTCP VERSION gönderilir ve gelen cevaplar biriktirilerek bir istatistik oluşturulur.

Önemli nezaket notu: Kanala CTCP göndermek, kanaldaki herkesin istemcisinin cevap vermesine yol açar. Kalabalık bir kanalda bu yüzlerce mesaj demektir ve çoğu ağ bunu flood olarak değerlendirir. Birçok kanal ve ağ, kanala CTCP göndermeyi yasaklar. Gerçekten gerekliyse ve izniniz varsa yapın, aksi hâlde kaçınmanızı öneririz.

VERSION Cevabını Özelleştirmek

VERSION cevabı, kullandığınız istemci ve sürümü ortaya koyar. Bu bilgi, bir saldırganın istemcinize özgü açıkları denemesine yardımcı olabilir. Bu yüzden birçok kullanıcı VERSION cevabını özelleştirir veya tamamen kapatır.

mIRC'in kendi ayarlarından bu cevabı değiştirebilirsiniz; ayrıca bir script ile de yapabilirsiniz. Kapatmak isterseniz CTCP olayını yakalayıp hiçbir cevap göndermeden halt demeniz yeterlidir.

Gizlilik açısından değerlendirildiğinde: Sürüm bilgisi vermemek küçük bir koruma sağlar ama tam bir güvenlik önlemi değildir. Daha önemlisi, istemcinizi güncel tutmaktır.

Özel CTCP Komutları

Kendi CTCP komutlarınızı tanımlayabilirsiniz. Bu, iki mIRC kullanıcısının scriptleri arasında iletişim kurmanın bir yoludur:

on *:CTCP:DURUM:*: {
  .ctcpreply $nick DURUM $iif(%mesgul,Mesgul,Musait)
}

Karşı taraf şu komutla sorabilir:

/ctcp Ayse DURUM

Bu teknikle küçük bir eklenti protokolü kurabilirsiniz: Kullanıcılar birbirlerinin durumunu sorabilir, basit veriler paylaşabilir veya scriptler arasında koordinasyon sağlanabilir.

Güvenlik uyarısı: Özel CTCP komutları yazarken gelen veriyi asla doğrulamadan kullanmayın. Bir CTCP mesajı herhangi biri tarafından gönderilebilir; komutunuz bir dosya okuyor, bir ayar değiştiriyor veya bir komut çalıştırıyorsa ciddi bir güvenlik açığı oluşur. Yetki gerektiren işlemleri CTCP ile yapmayın. Güvenlik için mIRC script güvenliği yazımıza bakın.

CTCP Flood'una Karşı Önlemler

CTCP, flood saldırılarının klasik araçlarından biridir: Saldırgan size saniyede yüzlerce CTCP gönderir, istemciniz hepsine cevap vermeye çalışır ve sunucu sizi flood nedeniyle bağlantıdan düşürür.

Korunma yolları:

  1. mIRC'in flood korumasını açın: mIRC'in kendi ayarlarında CTCP flood koruması bulunur.
  2. Cevaplara bekleme süresi ekleyin: Aynı kişiye belirli bir süre içinde yalnızca bir cevap gönderin.
  3. Kanaldan gelen CTCP'leri yok sayın: Kanala gönderilen CTCP'lere cevap vermemek makul bir politikadır.
  4. Ignore kullanın: Israrla CTCP gönderen kullanıcıları engelleyin. Bkz. IRC ignore.
  5. Cevapları düşük öncelikle gönderin: Mesaj kuyruğunu doldurmamaya dikkat edin.

Bekleme süresi için süreli değişkenler pratik bir çözümdür:

on *:CTCP:VERSION:*: {
  if ($($+(%,ctcp_,$nick),2)) { halt }
  set -u30 $+(%,ctcp_,$nick) 1
  .ctcpreply $nick VERSION Ozel istemci
  halt
}

Değişkenler için mIRC değişkenler yazımıza bakın.

ACTION ve DCC

ACTION, aslında bir CTCP komutudur: /me ile gönderdiğiniz eylem mesajları CTCP ACTION olarak iletilir. mIRC bunu ayrı bir olayla sunar, böylece eylem mesajlarını normal CTCP'lerden ayrı işleyebilirsiniz.

DCC de CTCP üzerinden başlatılır: Dosya gönderme veya doğrudan sohbet isteği, CTCP DCC mesajıyla iletilir. DCC istekleri ciddi güvenlik sonuçları doğurabilir çünkü doğrudan bağlantı IP adresinizi karşı tarafa açar. Tanımadığınız kişilerden gelen DCC isteklerini kabul etmemek temel bir güvenlik kuralıdır. Bkz. IRC DCC.

Gizlilik Boyutu

CTCP cevapları, hakkınızda bilgi sızdırabilir:

  • VERSION: İstemciniz, sürümü ve bazen işletim sisteminiz.
  • TIME: Saat diliminiz, dolayısıyla yaklaşık bulunduğunuz bölge.
  • FINGER ve USERINFO: Belirlediğiniz bilgi notları.
  • PING: Yanıt süresi, bağlantınız hakkında ipucu verir.
  • DCC: Gerçek IP adresiniz.

Gizliliğe önem veriyorsanız TIME ve FINGER cevaplarını kapatmayı, VERSION cevabını sadeleştirmeyi ve DCC isteklerini otomatik kabul etmemeyi düşünebilirsiniz. Bu ayarların çoğu mIRC'in kendi seçenekleri arasında bulunur; script yazmanıza gerek kalmadan değiştirebilirsiniz.

Gerçek Bir Senaryo

Bir kullanıcı, CTCP flood saldırısına uğruyor ve bağlantısı art arda kesiliyor. mIRC'in flood koruma ayarlarını açıyor, ayrıca bir script ekleyerek her kullanıcıya otomatik cevapları otuz saniyeye bir kez sınırlıyor. Kanala gönderilen CTCP'lere hiç cevap vermemeye karar veriyor. VERSION cevabını da sadeleştirip işletim sistemi bilgisini çıkarıyor. Saldırı tekrarlandığında istemcisi artık etkilenmiyor; saldırganın gönderdiği yüzlerce mesaj sessizce yok sayılıyor.

CTCP'nin Bugünkü Yeri

CTCP, IRC'nin erken yıllarında çok daha yoğun kullanılıyordu: İstemci istatistikleri toplamak, dosya paylaşmak, kullanıcı bilgisi sormak günlük pratiklerdendi. Bugün bu işlerin çoğu başka yollarla yapılıyor. Dosya paylaşımı web tabanlı hizmetlere kaydı, kullanıcı bilgileri services hesaplarında tutuluyor ve istemci istatistikleri kimsenin ilgisini çekmiyor.

Yine de CTCP tamamen ortadan kalkmadı. Eylem mesajları hâlâ CTCP üzerinden iletiliyor ve doğrudan bağlantı istekleri aynı mekanizmayı kullanıyor. Ayrıca kendi scriptleri arasında iletişim kurmak isteyen kullanıcılar için hâlâ pratik bir araç. Bu yüzden CTCP'yi bilmek, hem eski scriptleri anlamak hem de özel çözümler üretmek için değerli kalıyor.

Ağ Kurallarını Gözden Geçirmek

Birçok IRC ağı, CTCP kullanımı konusunda açık kurallara sahiptir. Kanala CTCP göndermek genellikle yasaktır ve bazı ağlar bunu otomatik olarak cezalandırır. Kullanıcılara toplu CTCP göndermek ise taciz olarak değerlendirilebilir. Bir script yazarken bu kuralları okumak, hem kendinizi hem de scriptinizi kullanacak kişileri olası yaptırımlardan korur.

Sonuç

CTCP, IRC'nin istemciler arası iletişim katmanıdır. Gelen CTCP'leri on CTCP ile yakalayın, cevapları .ctcpreply ile gönderin, VERSION gibi bilgi sızdıran cevapları sadeleştirin, bekleme süreleriyle flood'a karşı korunun, özel CTCP komutlarında gelen veriyi doğrulayın ve kanala CTCP göndermekten kaçının. Kanala yeni gelenleri karşılamak için sıradaki rehberimiz mIRC karşılama scripti.

IRC sorunun mu var? Kanalda birlikte çözelim.

💬 Kanala Bağlan

Sıkça Sorulan Sorular

CTCP nedir?

İstemciler arasında yapılandırılmış mesaj alışverişi yapmayı sağlayan bir protokoldür. VERSION, PING ve ACTION en bilinen örnekleridir.

VERSION cevabımı değiştirebilir miyim?

Evet. mIRC'in ayarlarından veya bir script ile VERSION cevabını özelleştirebilirsiniz.

CTCP flood'una karşı ne yapmalıyım?

CTCP cevaplarına bekleme süresi ekleyin ve mIRC'in flood koruma ayarlarını etkinleştirin.