Creare un client WHOIS in Python

Creare un client WHOIS in Python

Oggi vediamo creare un semplice client WHOIS in Python.

Sottolineo semplice perchè interrogheremo solo un server WHOIS, e non faremo particolari controlli su ciò che ha inserito l'utente in input.

Ma può essere un punto di partenza.

Cominciamo col dire che useremo Python 3, ed i moduli sys e socket.

Vediamo l'esempio:

import sys
import socket
 
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("whois.tucows.com", 43))
 
# CONVERTIAMO STRING IN BYTE, IN QUANTO SOCKET RICHIEDE BYTE
s.send((sys.argv[1] + "rn").encode())
 
response = b""
while True:
    data = s.recv(4096)
    response += data
    if not data:
        break
s.close()
 
# CONVERTIAMO BYTE IN STRING PER LEGGERE LA RISPOSTA
print(response.decode())

A questo punto possiamo avviare lo script:

$ python whois.py sito.com

Nell mie prove ho dovuto omettere il prefisso www; potete anche impostare un inridizzo IP.

A questo andrebbe anche aggiunta la possibilità di interrogare altri WHOIS server; sennò abbiamo il rischio di non trovare il dominio che cerchiamo.

Enjoy!