Python Whois Sorgulama

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Banlı Üye
Katılım
15 Ocak 2021
Mesajlar
29
Tepki puanı
10
Yaş
24
5 HİZMET YILI
Yağmurlu ve koronalı bir 2021 sabahıydı... Boş boş takılırken akla gelen anlık bir fikir ile gerçekleşti her şey. Öncelikle whois protokolünün nasıl çalıştığına baktığımda 43. port / tcp çalıştığını gördüm. Peki domainlerin kayıtları nerede tutuluyordu? ICANN'de tutuluyordu ve ülke domainleri ICANN tarafından devletlere dağıtılıyordu. İlk başta türk domainlerin whois kayıtlarının tutulduğu servisi denedim ancak açıkçası aksamalar oluyordu, pek başarılı değildi. Ardından amerikan domainlerin tutulduğu servisi buldum. Dorklar ile .us site arattığımda tabiki ilgimi çeken macbook' pro sitesi oldu. Brogrammer temalı ve terminus kurulu sublime editörümü açtım ve işe koyuldum...

En en en en temel mantık ile amerika whois servisine urlyi gönderdim ve o da bana whois bilgilerini attı. Peki neden böyle bir şey yaptım? Python ile urllib, request ve bunların yanında bs4 gibi modüller kullanıp web sitelerinden parse edenlere ihtafen. Onlar gibi bu protokolü kullanan websitelerden veri çekmek yerine kendim kullandım bu protokolü !!!!. Buyrun, sizlerde bknz:

Resmi buraya eklerken hata oluştu linkini bırakıyorum =
Bağlantıları görmek için lütfen Giriş Yap

Python:
import socket


def query_whois(server: str, domain: str) -> str:
    whois = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    whois.connect((server, 43))

    whois.send(domain.encode() + b'\r\n')

    result = bytes()

    while True:
        temp = whois.recv(2048)

        if not temp: break

        result += temp

    return '\n'.join(result.decode().split('\r\n'))


if __name__ == '__main__':
    print(query_whois('whois.nic.us', 'macbookpro.us'))
 
Griffin Premium
Katılım
9 Mar 2019
Mesajlar
200
Çözümler
3
Tepki puanı
34
Ödüller
10
Yaş
32
7 HİZMET YILI
neden başka yerlede çalıp kendin gibi konu açıyorsun alıntı olduğunu belirtmeden
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...