Python Whois Sorgulama

Hiçbir emek boş değildir.
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 =

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'))
Phytonun gücü diyebilir miyiz buna :D
 

  Şuanda konuyu görüntüleyen kullanıcılar


Üst Alt