Αν η απαιτούμενη αναζήτηση εξακολουθεί να χρησιμοποιεί παραδοσιακό WHOIS, ένας διαμεσολαβητής HTTP μπορεί να μεταφέρει αυτή την ανταλλαγή TCP όταν η πολιτική του επιτρέπει CONNECT προς την υπηρεσία WHOIS. Ο πελάτης πρέπει να ολοκληρώσει τη χειραψία του διαμεσολαβητή πριν στείλει το κείμενο της αναζήτησης. Για μια επιτρεπόμενη δημόσια δοκιμή WHOIS χωρίς ρυθμισμένα διαπιστευτήρια διαμεσολαβητή, η λίστα διαμεσολαβητών HTTP προσφέρει υποψήφιους ενδιάμεσους· επιβεβαιώστε χωριστά ότι κάποιος επιτρέπει τον κεντρικό υπολογιστή της υπηρεσίας WHOIS και τη θύρα 43.

Για μια υποθετική υπηρεσία με όνομα whois.example, ξεκινήστε με αυτό το αίτημα HTTP:

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

Γράψτε τις καταλήξεις γραμμής HTTP ως CRLF. Διαβάστε ολόκληρη την απόκριση του διαμεσολαβητή, μαζί με την τελική κενή γραμμή κεφαλίδας, και ελέγξτε την αριθμητική κατάσταση επιτυχίας. Η λήψη μέρους της γραμμής κατάστασης δεν αρκεί για να ξεκινήσει το επόμενο πρωτόκολλο.

Στη συνέχεια στείλτε το κείμενο WHOIS

Αφού ανοίξει η σήραγγα, στείλτε το ερώτημα που περιμένει αυτός ο διακομιστής WHOIS. Ένα απλό ενδεικτικό ερώτημα είναι:

example.com<CRLF>

Ο δείκτης αντιπροσωπεύει byte επιστροφής οχήματος και αλλαγής γραμμής. Δεν είναι μέρος του ονόματος τομέα. Δεν υπάρχει γραμμή HTTP GET ούτε κατάσταση απόκρισης HTTP μέσα σε αυτή την ανταλλαγή WHOIS.

Διαβάστε το κείμενο έως ότου ο διακομιστής WHOIS κλείσει τη σύνδεση. Μια απόκριση μπορεί να περιέχει πολλές γραμμές· η πρώτη αλλαγή γραμμής δεν σημαίνει ότι είναι πλήρης. Κρατήστε τα χρονικά όρια σύνδεσης και ανάγνωσης περιορισμένα στην υλοποίηση.

Αυτή η ακολουθία δίνει επίσης στον αναλυτή δύο διακριτά όρια. Πρώτα έρχεται ένα μπλοκ κεφαλίδων HTTP. Έπειτα έρχεται η απόκριση WHOIS, της οποίας η ολοκλήρωση σηματοδοτείται από το κλείσιμο της σύνδεσης. Διατηρήστε τυχόν byte που έχουν προσωρινά αποθηκευτεί πέρα από ένα όριο που αναλύθηκε, αντί να απορρίψετε ολόκληρη μια ανάγνωση δικτύου.

Η απόρριψη από τον διαμεσολαβητή σημαίνει ότι η σήραγγα δεν άνοιξε ποτέ, οπότε η αποστολή τομέα μετά δεν μπορεί να παραγάγει αποτέλεσμα WHOIS. Αν η απάντηση του διακομιστή δείχνει σε άλλη υπηρεσία WHOIS, κάθε επόμενο ερώτημα χρειάζεται τη δική του επιτρεπόμενη σύνδεση με αυτή την υπηρεσία.

Σχετικά άρθρα