IRC Komutları

IRC CTCP: İstemciler Arası Protokol

· Güncelleme: · 5 dk okuma

IRC CTCP: İstemciler Arası Protokol
İçindekiler
  1. Nasıl Çalışır?
  2. Standart CTCP Komutları
  3. ACTION: En Çok Kullanılan CTCP
  4. DCC: Doğrudan Bağlantı
  5. Gizlilik Etkileri
  6. Flood Riski
  7. Kanala CTCP Göndermemek
  8. CTCP'nin Bugünkü Yeri
  9. Özel CTCP Komutları
  10. Gerçek Bir Senaryo
  11. Sonuç

IRC'de istemciler yalnızca insanlara mesaj göndermez; birbirlerine de yapılandırılmış sorgular yollar. Bir kullanıcının hangi istemciyi kullandığını öğrenmek, bağlantı gecikmesini ölçmek veya dosya transferi başlatmak için IRC CTCP (Client-To-Client Protocol) kullanılır. CTCP, normal mesajların içine gömülen özel biçimli metinlerle çalışır.

Nasıl Çalışır?

CTCP, ayrı bir protokol değildir: Normal mesaj ve notice mesajlarının içine özel kontrol karakterleriyle çevrelenmiş komutlar yerleştirilir. İstemciler bu biçimi tanıyıp mesajı sohbet metni olarak değil, bir sorgu olarak yorumlar.

Bu tasarım, CTCP'nin sunucu desteği gerektirmemesini sağlar: Sunucu için bunlar sıradan mesajlardır. Bu hem bir avantaj hem bir dezavantajdır; aşağıda göreceğiz.

Standart CTCP Komutları

KomutNe sorar?
VERSIONHangi istemci ve sürüm kullanılıyor
PINGBağlantı gecikmesi ne kadar
TIMEKarşı tarafın yerel saati
FINGERKullanıcı hakkında bilgi (eski bir komut)
USERINFOKullanıcının belirlediği bilgi notu
CLIENTINFOHangi CTCP komutları destekleniyor
ACTIONEylem mesajı
DCCDoğrudan bağlantı isteği

Kullanımı:

/ctcp Ayse VERSION
/ping Ayse
/ctcp Ayse TIME

Çoğu istemci, bu sorgular için kısayol komutlar da sunar.

ACTION: En Çok Kullanılan CTCP

İlginç bir ayrıntı: IRC'de en sık kullanılan CTCP komutu, çoğu kullanıcının CTCP olduğunu bilmediği ACTION'dır. Eylem mesajı gönderen komut, arka planda bir CTCP ACTION mesajı gönderir.

Bu yüzden eylem mesajları özel olarak biçimlendirilmiş görünür: İstemciniz CTCP ACTION mesajını tanıyıp farklı gösterir. Ayrıntılar IRC me komutu yazımızda.

DCC: Doğrudan Bağlantı

Dosya transferi ve doğrudan sohbet istekleri de CTCP üzerinden başlatılır. Bir kullanıcı size dosya göndermek istediğinde, istemcisi size bir CTCP DCC mesajı gönderir ve bu mesaj bağlantı bilgilerini içerir.

DCC, güvenlik ve gizlilik açısından ciddi sonuçlar doğurur: Doğrudan bağlantı, gerçek IP adresinizi karşı tarafa açar. Ayrıntılar IRC DCC yazımızda.

Gizlilik Etkileri

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

VERSION: Kullandığınız istemci, sürümü ve bazen işletim sisteminiz. Bu bilgi, bir saldırganın istemcinize özgü bilinen açıkları denemesine yardımcı olabilir.

TIME: Saat diliminiz, dolayısıyla yaklaşık bulunduğunuz coğrafi bölge.

FINGER ve USERINFO: Belirlediğiniz bilgi notları; kişisel bilgi içerebilir.

PING: Yanıt süresi, bağlantınızın kalitesi hakkında ipucu verir.

CLIENTINFO: İstemcinizin yetenekleri hakkında ayrıntılı bilgi.

Gizliliğe önem veriyorsanız bu cevapları sadeleştirebilir veya tamamen kapatabilirsiniz. Çoğu istemci, VERSION cevabını özelleştirmenizi ve bazı CTCP türlerine hiç cevap vermemenizi sağlar.

Daha etkili bir çözüm, CTCP isteklerini tamamen engelleyen kullanıcı modunu kullanmaktır; destekleyen ağlarda bu mod bütün CTCP'leri sunucu düzeyinde reddeder. Bkz. IRC kullanıcı modları.

Flood Riski

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

Bu saldırı, istemcinizin otomatik cevap verme davranışını kullanır. Korunma yolları:

  1. İstemci flood koruması: Çoğu istemcide CTCP flood koruması bulunur; açık olduğundan emin olun.
  2. Cevap sınırlaması: Aynı kişiye belirli süre içinde yalnızca bir cevap göndermek.
  3. Kanaldan gelen CTCP'leri yok saymak: Kanala gönderilen CTCP'lere cevap vermemek makul bir politikadır.
  4. CTCP engelleme modu: Sunucu düzeyinde engelleme en etkili yöntemdir.
  5. Engelleme: Israrla CTCP gönderen kullanıcıları ignore etmek. Bkz. IRC ignore.

mIRC'te CTCP yönetimi için mIRC CTCP cevapları yazımıza bakın.

Kanala CTCP Göndermemek

Kanala CTCP göndermek, kanaldaki herkesin istemcisinin cevap vermesine yol açar. Yüz kişilik bir kanalda bu, yüz notice mesajı demektir.

Bu davranış:

  • Kanala ciddi bir mesaj yükü bindirir.
  • Cevap gönderen kullanıcıların sunucu tarafından flood nedeniyle düşürülmesine yol açabilir.
  • Neredeyse bütün ağlarda kural ihlali sayılır.
  • Birçok kanalda bir kanal moduyla engellenmiştir.

Eskiden kanal istatistikleri toplamak için kullanılan bu yöntem, bugün tamamen terk edilmiştir. Kanala CTCP göndermekten kesinlikle kaçının.

CTCP'nin Bugünkü Yeri

CTCP, IRC'nin erken yıllarında çok daha yoğun kullanılıyordu: İstemci istatistikleri toplamak, kullanıcı bilgisi sormak, dosya paylaşmak günlük pratiklerdendi.

Bugün bu işlerin çoğu başka yollarla yapılıyor: Dosya paylaşımı web hizmetlerine kaydı, kullanıcı bilgileri services hesaplarında tutuluyor ve istemci istatistikleri kimsenin ilgisini çekmiyor.

Yine de CTCP tamamen ortadan kalkmadı: Eylem mesajları hâlâ bu mekanizmayı kullanıyor, doğrudan bağlantı istekleri aynı yolla iletiliyor ve bazı botlar özel CTCP komutlarıyla iletişim kuruyor.

Özel CTCP Komutları

CTCP, protokol düzeyinde esnektir: Kendi komutlarınızı tanımlayabilirsiniz. İki istemci veya bir istemci ile bir bot, kendi aralarında özel bir CTCP komut seti kullanarak iletişim kurabilir.

Bu teknik, scriptler arası iletişim için kullanılır: Kullanıcılar birbirlerinin durumunu sorabilir veya küçük veriler paylaşabilir.

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 yetki gerektiren bir işlem yapıyorsa ciddi bir güvenlik açığı oluşur. Bkz. mIRC script güvenliği.

Gerçek Bir Senaryo

Bir kullanıcı, kanalda kimlerin hangi istemciyi kullandığını merak ediyor ve kanala bir CTCP VERSION sorgusu gönderiyor. Kanalda altmış kişi var ve hepsinin istemcisi cevap veriyor. Kullanıcı saniyeler içinde altmış notice alıyor ve sunucu onu flood nedeniyle bağlantıdan düşürüyor. Ayrıca kanal moderatörü bu davranışı kural ihlali olarak değerlendirip uyarı veriyor. Kullanıcı dersini alıyor: Kanala CTCP göndermenin hem kendisine hem kanala zarar verdiğini öğreniyor ve bu bilgiyi merak ettiği kişilere tek tek sorarak edinmeye karar veriyor.

Kısacası CTCP, IRC protokolünün üzerine sonradan eklenmiş pratik bir katmandır ve bugün kullandığımız birkaç temel özelliğin altında sessizce çalışmaya devam eder.

Sonuç

CTCP, IRC'nin istemciler arası iletişim katmanıdır ve eylem mesajlarından dosya transferine kadar birçok özelliğin altında çalışır. Cevaplarınızın bilgi sızdırabileceğini bilin, VERSION gibi cevapları sadeleştirin, flood korumasını açık tutun, kanala CTCP göndermekten kaçının ve özel CTCP komutlarında gelen veriyi doğrulayın. Doğrudan bağlantılar için sıradaki rehberimiz IRC DCC.

IRC sorunun mu var? Kanalda birlikte çözelim.

💬 Kanala Bağlan

Sıkça Sorulan Sorular

CTCP nedir?

İstemciler arasında yapılandırılmış sorgu ve cevap alışverişi yapmayı sağlayan bir protokol katmanıdır.

CTCP VERSION ne gösterir?

Karşı tarafın kullandığı istemci ve sürümü; bazı istemciler işletim sistemi bilgisini de ekler.

Kanala CTCP göndermek doğru mu?

Hayır. Kanaldaki herkesin istemcisi cevap verir ve bu neredeyse her ağda kural ihlali sayılır.