Buradasınız ! : Mirc indir >> Mirc Komutları>> WildCard Komutları - Eğitim
Konu: Wildcard (joker karakterler)
Döküman: Batuhan " zEbAni " Tamtartar
Herhangi bir komut ile yapmak istediğimiz birşeyde zorlandığımızda yada bir komutu daha geniş kapsamlı kullanmak için biz " wilcard "
lardan yardım alırız. Wilcard'lar joker karakterler diye de anılırlar.
Bu karakterler kullanım alanlarına ve şekillerine göre ayrı anlamları,
farklı temsilleri vardır. Genelde " Nick!Identd@Host " maskesi dahilinde kullanılır ve bizim işimizi kolaylaştırmak için vardır.
? ve * olmak üzere iki şekildedirler.
? : Tek bir karakteri temsil eder. Bahsi geçen maskenin sayısı belli olup ancak şekli şemali belli olmadığı durumlarda kullanılır.
Mesela şöyle diyelim, 6 haneli bir nick ancak 3. harfi bilinmiyor. Biz bu 3. hanenin yerine " ? " işareti kullanırız. ? işareti yerine her türlü karakter gelebilir.
Örnek -> 3 haneli kanalları nasıl listeleyebilirim?
Cevap -> /list #???
Yukarıdaki soruyu şöyle düşünelim. Bize meyve olduğunu söylüyor ama hangi meyve olduğunu söylemiyor.
Bu nar da olabilir, muz da. 3 harfli olsun da ne olursa olsun diye ekliyor sonuna da.
Örnek -> Sunucu üzerindeki aktif olan kanallardan sadece 5
haneli olup, 3. hanesi " a " , son hanesi " c " olanları listelemek
istiyorum. Komut nedir?
Cevap -> /list #??a?c
Yukarıda da görüldüğü üzre; ilk iki hane için soru işareti kullanmışız
çünkü: bizden istenen kısım nickin 5 haneli olması ve 3. ve 5. harflerin
a ve c olması. Bu tür sorularda biz; bizden isteneni yerine
yerleştirip, bilinmeyen kısımlara " ? " kullanıyoruz.
? karakterinin temsilini detaylı olarak gördük. Diğer işaretimiz ise ;
* : Kullanım yerine göre
önündeki/arkasındaki tüm karakterleri temsil eder. Karakter sayısının
belli olmadığı ancak belirtilen karakterin içinde olduğu kısımlar için
kullanılır.
Bu karakteri kullanırken de şöyle düşünücez. Bir ban uygulamamız
isteniyor; bize verilen bilgilerde sadece nickin " a " harfi ile bittiği
belirtiliyor. Biz bu a'dan önceki kısma " * " deriz. " * " kısmı a'dan
öncesi için geçerli olur ve karakter sayısı da belirsizdir aynı zamanda.
Temel olarak 4 kısımda * işaretini kullanırız.
Kısım1 -> Belirtilen maskenin sadece ilk hanesinin belli olduğu durumlarda,
Kısım2 -> Belirtilen maskenin sadece son hanesinin belli olduğu durumlarda,
Kısım3 -> Belirtilen maskenin ilk ve son hanesinin belli olduğu durumlarda,
Kısım4 -> Belirtilen maskenin ilk ve son
hanelerinin belli olmayıp sadece içerisinden bir veya birden fazla
karakterinin belli olduğu durumlarda.
Soru(Kısım1) -> #X Kanalında nicki a ile başlayan kullanıcıları akicke almak istiyorum. Komut nedir ?
Cevap -> /cs akick #X add a*!*@*
NOT: Nick!Identd@Host maskesini kullanırken; bize verilen kısımları kullanıp, hakkında bilgi sahibi olmadığımız kısımlar için " * " kullanıyoruz. Görüldüğü gibi nick kısmını " a* " olarak kullandık. İdentd ve host kısımları için ise her ne olursa olsun anlamını taşıması için sadece " * "
kullandık. Yani komutun okunuşu; " nick'i a ile başlayıp karakter
sayısı belli olmayan(Ahmet'te, Abdülrezzat'ta bu akickten etkilenir.
Bizim için önemli olan kısım baştaki " a " ) ve İdentd'i ile Host'u kaç
karakterli olursa olsun ve hangi karakteri içerirse içersin #X kanalına
girişini engellemek istiyorum " şeklinde olucaktır.
Soru(Kısım2) -> #X kanalında nick'i a ile biten kullanıcıları akicke almak istiyorum. Komut nedir ?
Cevap -> /cs akick #X add *a!*@*
Açıklama: Burda nick kısmının başına " * "
koyduk ve en sonuna " a " ekledik. Bu demek oluyor ki " Nickinin
karakter sayısı, identd'inin ve host'unun ne içerdiği kaç haneli olduğu
önemli değil; nicki a ile bitsin yeterli. "
Soru(Kısım3) -> #X kanalında identdinin ilk hanesi a son hanesi p olan kullanıcıları akick almak istiyorum. Komut nedir ?
Cevap -> /cs akick #X *!a*p@*
Açıklama: Bu soruda bize diğer 2 sorudan farklı olarak
IDENTD'indeki karakterler hakkında bilgi verilmiş. Öncelikle dikkat
etmemiz gereken nokta burası, daha sonrasında ise nerede doğru
kullanıcağımızı bilmeliyiz. Nick ve Host hakkında herhangi bir bilgimiz
olmadığı için; her ikisi içinde " * " kullanmamız gerekmektedir. IDENTD kısmı için ise ; " a*p " kullanacağız. Tümünün birleşiminde oluşan maske " *!a*p@* " olucaktır.
Soru(Kısım4) -> #X kanalına hostunun içerisinde " 10 " geçen kullanıcıların girişini engellemek istiyorum. Komut nedir ?
Cevap -> /cs akick #kanal add *!*@*10*
Açıklama: Bu soruda da bize akick eklenicek kişinin HOST'undaki karakterler hakkında bilgi verilmiş. Demekki biz nick ve identd yerine " * " kullanıcağız. HOST için kullanmamız gereken wilcard'ımız ise ; " *10* " olucaktır. Bunların birleşimi de " *!*x*@* " maskesini oluşturucaktır.
? ve * karakterlerinin beraber kullanımı ;
Bu kısım sizin kafanızı karıştırmaya birebirdir. Ancak üstteki
karakterlerin kullanım yerlerini mantıken kavradıysanız size pekte zor
gelmicektir.
Burda dikkat edilecek nokta aslında okuma kısmıdır. Karakterleri okyabiliyorsanız; gerisi kolaydır.
Burayıda iki farklı şekilde inceleyelim.
Kısım1 -> ?'den sonra kullanılan * karakteri,
Kısım2 -> *'dan sonra kullanılan ? karakteri.
Buraya kadarki örneklerimizde soru sorup - cevabı istedik bu sefer tam tersi yöntemle ilerleyelim.
Örnek(Kısım1) -> /cs akick #x add ??*a*??!*@*
Açıklama: Bu komutu uyguladığımızda; #X kanalına karakter sayısı
sınırsız nickinin ilk iki ve son iki hanesi HARİÇ, içerisinde a geçen
nicklerin kanala girişi engellenicektir. Başta ? görenler
eminimki bu komuta 6 haneli içinde a geçen nickler akicke alınır diye
düşünmüşlerdir. Ancak bu komutta bir karakter sınırlanması yoktur.
Burdan anlıyoruz ki ; ?'ın başta veya sonda olup * işaretinin
olduğu durumlarda ? işaretinin olduğu kısımları içerisinden
çıkarıyoruz. Nasıl yani diyecek olursanız, zEbAni nickinin biz baştaki
ve sondaki ilk iki hanesini çıkarıyoruz yani " ba " olarak düşünüyoruz. Bakıyoruz ki kalan kısımlar içerisinde " a " geçiyor, anlıyoruz ki bu nick akickten etkilenir.
Peki Master nicki bu akickten etkilenir mi? bakalım; Master nickinin ilk ve son iki harflerini çıkaralım, kalan kısım " st " harfleridir. Biz bakıyoruz ki kalan kısımda " a " yok ; demekki bu nick akickten etkilenmez.
Örnek(Kısım2) -> /cs akick #X add *?a?*!*@*
Açıklama: Bu akick'i uygulayacağımız akick bizim " KISIM4 "
te göstermiş olduğumuz uygulama şeklinden bir farkı yoktur. Dolayısı
ile ordaki ? karakterleri fazlalık etmiş ve gereksiz kullanılmışlardır.
Bu akick'ten karanter sayısızı sınırsız nickinin içinde a geçen tüm
kullanıcılar etkilenicektir.
Wilcard hakkında soru - cevaplar ;
SORU1 : (lütfen bu soruyu dikkatli okuyunuz.)
Kanalıma öyle bir access-list çekeyim ki;
a-) 'kazim' ve 'nazim' nick'leri kesinlikle listede olsun
b-) listedeki bu iki kişi hariç olanların nicklerinin listede çıkma olasılığı minimum olsun
#testing kanalında uygulayacağımız bu komut için gerekli olan tam komutu yazınız.
( Bu soru kernel32 nickinden alıntıdır )
Cevap1) Şimdi böyle bir soru ile karşılaştığımızda ilk olarak
nicklerin ortak yönlerini belirliyoruz. Daha sonra ise ; kullanım
yerlerine göre wilcard'larımızı yerleştiricez.
Kazim ile Nazim arasındaki ortak karakterlere bakıyoruz ;
Her ikisinde de 5 harfli ve 2. harf " a" ve son iki harf " im ".Buna göre Komutumuzu yazıyoruz;
-> /cs access #kanal list ?a?im
Soruda ilk karakter için hem k hemde n nicklerinin çıkması için ?
işareti ve yine 3. harfte her ikisi için farklı karakterler temsil
etmesi ve listede çıkması için ? işareti kullanıyoruz. Ortak haneleri
birleştirip 5 karaktere tamamladıktan sonra sorunun tamamlanmış
olduğunun zaten farkına varıyoruz.
SORU2 : Kanalıma 3 haneli içerisinde a geçen kullanıcıların kanalıma girişini engellemek istiyorum. Komut nedir?
Cevap2) Şimdi bu soruda biraz mantığımızı konuşturmamız
gerekmektedir. Soruyu ilk duyduğumda bende bayağı bi düşünmüştüm ama
sorunun aslına bakınca çok kolay. Biz böyle bir wilcard görmedik, hem
sınır olsun hemde içindeki karakteri belirliyelim. O zaman teker teker
banlıyacağız..
-> /mode #kanal +bbb a??!*@* ?a?!*@* ??a!*@*
Yukarıdaki komutta görüldüğü gibi; ilk +b mode'unda 1. harfe a verip
diğerlerine ? işareti koyduk ki diğer karakterlerin belli olmadığını
ifade etmek için. 2. +b mode'unda 2. harfe a verip diğerlerinde soru
işareti kullandık. 3'e tamamlayana kadar bu sistemle ilerledik. Oluşan
ban liste baktığımızda ise sırası ile " 1. , 2. , 3. " hanelerin tek
tek a nicki üzerine banlı olduğunu gördük. Aslında sandığımız kadarda
zor değilmiş dimi
Bunlar mantıken işliyen sorulardı. Şimdide biraz komuta dayalı sorulara bakalım.
SORU3 : #X kanalındaki nicki 5 haneli 2. harfi a 4. harfi y olan,
identdinin ilk hanesi ve son 3 hanesi hariç içerisinde x geçenleri aynı
zamanda hostu 131 ile başlayanları banlamak istiyorum komut nedir ?
Cevap3) /mode #kanal +b ?a?y?!?*x*???@131*
SORU4 : Bir akick eklemek istiyorum ancak; nick'inin ilk hanesi
ve son 2 hanesi hariç içerisinde u geçen nickler etkilensin istiyorum
sadece. Uygulamam gereken komut nedir? Ayrıca akickten etkilenicek olan
nicklerden bi tane öyleyiniz.
Cevap4) /mode #kanal +b ?*u*??!*@*
Bu akickten " Murat " nicki etkilenir.

Hiç yorum yok:
Yorum Gönder