Si une recherche nécessaire utilise encore le WHOIS classique, un proxy HTTP peut transporter cet échange TCP lorsque sa politique autorise CONNECT vers le service WHOIS. Le client doit terminer la poignée de main du proxy avant d’envoyer le texte de la recherche. Pour un test WHOIS public autorisé sans identifiants de proxy configurés, la liste de proxys HTTP propose des intermédiaires candidats ; vérifiez séparément que l’un d’eux autorise l’hôte du service WHOIS et le port 43.

Pour un service hypothétique nommé whois.example, commencez par cette requête HTTP :

CONNECT whois.example:43 HTTP/1.1
Host: whois.example:43

Sérialisez les fins de ligne HTTP en CRLF. Lisez la réponse complète du proxy, y compris sa ligne d’en-tête vide finale, et vérifiez le code numérique de succès. Recevoir une partie de la ligne de statut ne suffit pas pour démarrer le protocole suivant.

Envoyez ensuite le texte WHOIS

Une fois le tunnel ouvert, envoyez la requête attendue par ce serveur WHOIS. Une requête illustrative simple est :

example.com<CRLF>

Le marqueur représente les octets de retour chariot et de saut de ligne. Il ne fait pas partie du nom de domaine. Il n’y a ni ligne HTTP GET ni statut de réponse HTTP dans cet échange WHOIS.

Lisez le texte jusqu’à ce que le serveur WHOIS ferme la connexion. Une réponse peut contenir de nombreuses lignes ; le premier saut de ligne ne signifie pas qu’elle est complète. Gardez les délais de connexion et de lecture bornés dans l’implémentation.

Cette séquence donne aussi au parseur deux frontières distinctes. Vient d’abord un bloc d’en-têtes HTTP. Vient ensuite la réponse WHOIS, dont l’achèvement est signalé par la fermeture de la connexion. Conservez les octets mis en tampon au-delà d’une frontière déjà analysée plutôt que de jeter une lecture réseau entière.

Un refus du proxy signifie que le tunnel ne s’est jamais ouvert ; envoyer ensuite un domaine ne peut donc pas produire de résultat WHOIS. Si la réponse du serveur renvoie à un autre service WHOIS, toute requête ultérieure exige sa propre connexion autorisée vers ce service.

Articles similaires