Si una consulta necessària encara fa servir WHOIS tradicional, un proxy HTTP pot transportar aquest intercanvi TCP quan la seva política permet CONNECT cap al servei WHOIS. El client ha d’acabar l’encaixada de mans del proxy abans d’enviar el text de la consulta. Per a una prova WHOIS pública permesa sense credencials de proxy configurades, la llista de proxys HTTP ofereix intermediaris candidats; confirmeu per separat que un d’ells permet l’amfitrió del servei WHOIS i el port 43.

Per a un servei hipotètic anomenat whois.example, comenceu amb aquesta sol·licitud HTTP:

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

Serialitzeu els finals de línia HTTP com a CRLF. Llegiu la resposta completa del proxy, inclosa la seva línia final buida de capçalera, i comproveu l’estat numèric d’èxit. Rebre només una part de la línia d’estat no és suficient per iniciar el protocol següent.

A continuació, envieu el text WHOIS

Un cop obert el túnel, envieu la consulta que espera aquell servidor WHOIS. Una consulta il·lustrativa simple és:

example.com<CRLF>

El marcador representa els bytes de retorn de carro i de salt de línia. No forma part del nom de domini. Dins d’aquest intercanvi WHOIS no hi ha cap línia HTTP GET ni cap estat de resposta HTTP.

Llegiu el text fins que el servidor WHOIS tanqui la connexió. Una resposta pot contenir moltes línies; el primer salt de línia no vol dir que estigui completa. Manteniu els temps d’espera de connexió i lectura limitats a la implementació.

Aquesta seqüència també dóna al parser dues fronteres diferents. Primer ve un bloc de capçaleres HTTP. Després ve la resposta WHOIS, la finalització de la qual se senyalitza amb el tancament de la connexió. Preserveu qualsevol byte memoritzat més enllà d’una frontera analitzada en lloc de descartar tota una lectura de xarxa.

Un rebuig del proxy significa que el túnel no es va obrir mai, així que enviar un domini després no pot produir cap resultat WHOIS. Si la resposta del servidor apunta a un altre servei WHOIS, qualsevol consulta posterior necessita la seva pròpia connexió permesa amb aquest servei.

Articles relacionats