folder Tahribat.com Forumları
linefolder C#, Asp.Net, .Net Core
linefolder Whois Alan Adı Sorgusu 1-Alan Adlarının Kimlere Ait Olduğunun Sorgulaması . 2-Sorgulanan Alan Adını



Whois Alan Adı Sorgusu 1-Alan Adlarının Kimlere Ait Olduğunun Sorgulaması . 2-Sorgulanan Alan Adını

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    GencBilge
    GencBilge's avatar
    Kayıt Tarihi: 24/Ağustos/2009
    Erkek
    Whois Alan Adı sorgusu
    1-Alan adlarının kimlere ait olduğunun  sorgulaması .
    2-Sorgulanan Alan Adının kayıtlı olup olmadığı .
     
    Bu makalemizde aradığınız domainin başkası tarafından alınıp alınmadığını sorgulayan bir kütüphane yazacağız .
     
     
    Aramak istediğimiz alan adlarını whois sunucularını kullanarak sorgulayabiliriz.Dünya üzerinde yüzlerce whois server vardır.tr uzantılı isimlerin kime ait olduğunu ülkemizde ODTU yapmaktadır. Odtu’nün whois server’ı "whois.metu.edu.tr" dir. Net ve com ile biten alan adlarını internic.net whois serverından sorgulayacağız.
    Uzantıları .net,com.org ... bitiyorsa onu bulup ,doğru alan adı sunucusuna sorgumuzu göndermek için EndsWith methodunu kullanıyoruz.
     
         if (AlanAdi.EndsWith(".net"))
            {
                who.Whoisserver = "whois.internic.net";
            }
            if (AlanAdi.EndsWith(".com"))
            {
                who.Whoisserver = "whois.internic.net";
            }
            if (AlanAdi.EndsWith(".org"))
            {
                who.Whoisserver = "whois.publicinterestregistry.net";
            }
            if (AlanAdi.EndsWith(".tr"))
            {
                who.Whoisserver = "whois.metu.edu.tr";
            }
     
     
     
    Alan Adı sorgusunda kullanacağımız adres http://www.erkansaldir.com şeklinde olmamalıdır.webde geçerli olan adreslerimizde gerçek alan adı kısmı erkansaldir.com kısmıdır.www domain tarafından iis servera yönlendirecek alt alanı temsil eder.http ise browserın kullanmış olduğu protokolü belirtir.
     
    Mail.erkansaldir.com www.erkansaldir.com ftp.erkansaldir.com ... mail,ftp,www gibi sub domainler olmadan alan adımızı whois serverlara göndermemiz gerekir.
    Alan Adımızın başındaki http ve www ifadelerini bulmak için StartsWith methodunu ve fazlalık ifadeyi kaldırmak içinde Replace methodunu kullanıyoruz.
     
          /////////////// Domain Kalıbını Düzenle Ve Kontrol Et
                string sonuc="";
                if (_Domain.StartsWith("http://"))
                {
                    _Domain = _Domain.Replace("http://", "");
                }
                if (Domain.StartsWith("www."))
                {
                    _Domain = _Domain.Substring(4, Domain.Length - 4);
                }
     
     
    Regular ifadeler ilede girilen alan adı sorgusunu whois serverlara göndermeden son kez geçerliliğini kontrol ediyoruz.
     
    Regex regexKalibi = new Regex(@"^[a-z0-9](?:[a-z0-9\-](?!\.)){0,61}[a-z0-9]?\.(?:com|net|org|com\.tr|net\.tr|org\.tr|gen\.tr)$");
                if (regexKalibi.IsMatch(_Domain) == false)
                {
                    return "Hatalı Domain Girişi";//
                }
     
    Whois servera bağlanıp alanadımızı kontrol edip gelen sonucu geriye döndürmek için System.Net.Sockets kütüphanesini kullanıyoruz.
     
          try
                {
                    TcpClient client=new TcpClient();
                    client.Connect(_whoisserver, 43);               
                    NetworkStream stream=client.GetStream();
                    Byte[] buffer = ASCIIEncoding.ASCII.GetBytes((_Domain + "\r\n"));
                    stream.Write(buffer,0,buffer.Length);
                    buffer = new Byte[8192];
                    int i=stream.Read(buffer, 0, buffer.Length);
                     while (i >0)
                       {
                       i = stream.Read(buffer, 0, buffer.Length);
                       sonuc += ASCIIEncoding.ASCII.GetString(buffer);
                       }
                    stream.Close();
                    client.Close();
     
                    return sonuc;
                }
                catch (Exception hata)
                {
                    return hata.Message;
                }
    Uzaktaki whois servera bağlanmak için client.Connect(_whoisserver, 43); methodunu kullanıyoruz.43 portu genel olarak whois serverlarının kullandığı porttur.
    Whois serverlardan Dönen sonuç alan adının kime ait olduğunu yada bu alan adının bulunamadığı bilgisini içerir.
     
    Musait_mi methodumuzla ise dönen alan adında
    Aşağıdaki ifadelerden birinin olup olmadığımı kontrol edeceğiz.Eğer bu ifadelerden birine rastlanırsa alan adı alınmamış demektir.
     
    "No match", "NOT FOUND", "no entries", "not found", "no data", "no such domain", "not a registered", "no encontr", "do not have an entry", "no entry", "no relevent", "no existe", "nomatch", "220 Available", "no information"
    Regex.IsMatch(icerik,Aranan kalip) methosu ile metinde aradığımız kelime grubu geçiyormu kontrol ediyoruz.
     
    public Boolean Musait_mi(string icerik)
            {
                Boolean bayrak = false;
                string[] kalip ={ "No match", "NOT FOUND", "no entries", "not found", "no data", "no such domain", "not a registered", "no encontr", "do not have an entry", "no entry", "no relevent", "no existe", "nomatch", "220 Available", "no information" };
            
                for (int i = 0; i <= kalip.Length - 1; i++)
                {
                  if (Regex.IsMatch(icerik, kalip[i]))
                    {
                        bayrak = true;
                        break;
                      
                    }
                }
                return bayrak;
     
            }
    Hosting servisi veren ve whois sorgusu yaptırmak isteyen herkes bu kütüphaneden faydalanarak whois sorgusu yapabilir. Umarım ilgilenen arkadaşlara faydası olmuştur.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek

    Teşekkürler, güzel bir bilgi. 


    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    turkcell
    turkcell's avatar
    Kayıt Tarihi: 04/Ocak/2010
    Erkek

    asp dökümanı varmı örnek dosya varmıdır


    char ılkUnluyuBul(char a[10]) { char Unluler[] = { 'a', 'ı', 'o', 'u', 'e', 'i', 'ü', 'ö' }; for (int i = 0; i < 9;i++) for (int j = 0, j < 7; j++){//7 olmasının sebebebi 6 harfli bir sözcük girmişti yanlış hatırlamıyorsam if (a[i] == Unluler[j]){ return a[i]; } } bool UnluIncemi(char a){ char InceUnlu[] = { 'e', 'i', 'ü', 'ö' }; for (int i = 0; i < 4;i++) if (a == InceUnlu[i]) return true;
Toplam Hit: 2349 Toplam Mesaj: 3