Leggere gli HEADER HTTP con Telnet

Casomani dovete studiarvi un protocollo che usa gli HEADER HTTP il modo migliore per visualizzare le risposte di un server è quello di usare una shell ed un client telnet.

Il funzionamento è banale, prima di tutto facciamo aprire una sessione telnet sul server che ospita il sito/applicazione

fullo@tartar# telnet miohost.com 80

a questo punto in sessione iniziamo a fare un GET dell’url ReST che ci interessa, specificando il protocollo da usare ed indichiamo l’host di riferimento seguito da un doppio invio.

fullo@tartar# telnet miohost.com 80
Trying 212.235.215.666...
Connected to miohost.com (212.235.215.666).
Escape character is '^]'.
GET /api/v1/blogs;id=666/ HTTP/1.1                                       
host: miohost.com

il risultato sarà quindi:

HTTP/1.1 200 OK
Connection: close
Content-Length: 148
Expires: Tue, 08 May 2007 10:57:13 GMT
Vary: Cookie
Last-Modified: Tue, 08 May 2007 09:57:13 GMT
ETag: dbdfe92c32166b674a94911ae7a22e14
Cache-Control: max-age=3600
Date: Tue, 08 May 2007 09:57:13 GMT
Content-Type: text/xml
Server: lighttpd/1.4.13
...

a questo punto possiamo comodamente studiare cosa viene restituito negli HEADER HTTP per lavorare (ad esempio) su un client che supporti il conditional get… :)

ciuaz

  • Se non ti interessa la sessione interattiva puoi usare anche il comando netcat. Ad esempio:

    echo -e “GET /api/v1/blogs;id=666/ HTTP/1.1\nhost: miohost.com” | nc miohost.com 80

  • ottimo suggerimento! non avevo minimamente pensato a netcat

  • Cesare

    Al posto di GET, che restituisce anche l’intero contenuto della pagina, si può usare HEAD, che restituisce invece i soli header :)

  • Non è che avete un esempio anche in windows?
    Purtroppo le mie basi di linux sono ormai inutilizzabili…

  • piefav

    e nel caso dovessi autenticarmi con utente e password ?

%d bloggers like this: