Forum Linux.général Pourquoi certains sites ne répondent pas en http avec telnet ?

Posté par . Licence CC by-sa
Tags : aucun
2
11
déc.
2013

J'essaye de faire du http avec telnet.

Essai 1:

[romain@localhost romain]% telnet www.google.com 80                    
Trying 2a00:1450:400c:c03::63...
Connected to www.google.com.
Escape character is '^]'.
GET / http/1.1
host: www.google.com

HTTP/1.0 400 Bad Request
Content-Type: text/html; charset=UTF-8
Content-Length: 925
Date: Tue, 10 Dec 2013 23:48:31 GMT
Server: GFE/2.0

gt;
<html lang=en>
  <meta charset=utf-8>
  <meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">
  <title>Error 400 (Bad Request)!!1</title>
  <style>
    *{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}
  </style>
  <a href=//www.google.com/><img src=//www.google.com/images/errors/logo_sm.gif alt=Google></a>
  <p><b>400.</b> <ins>That’s an error.</ins>
  <p>Your client has issued a malformed or illegal request.  <ins>That’s all we know.</ins>
Connection closed by foreign host.

Essai 2:

[romain@localhost romain]% telnet www.nvidia.fr 80                     
Trying 2.16.117.10...
Connected to www.nvidia.fr.
Escape character is '^]'.
GET / http/1.1
host: www.nvidia.fr

HTTP/1.0 400 Bad Request
Server: AkamaiGHost
Mime-Version: 1.0
Content-Type: text/html
Content-Length: 215
Expires: Tue, 10 Dec 2013 23:49:13 GMT
Date: Tue, 10 Dec 2013 23:49:13 GMT
Connection: close

<HTML><HEAD>
<TITLE>Bad Request</TITLE>
</HEAD><BODY>
<H1>Bad Request</H1>
Your browser sent a request that this server could not understand.<P>
Reference&#32;&#35;7&#46;6751002&#46;1386719353&#46;0
</BODY>
</HTML>
Connection closed by foreign host.

Essai 3 :

[romain@localhost romain]% telnet www.vulgarisation-informatique.com 80
Trying 95.128.73.93...
Connected to www.vulgarisation-informatique.com.
Escape character is '^]'.
GET / http/1.1
Host: www.vulgarisation-informatique.com

HTTP/1.1 200 OK
[...]

Enfin au troisième essai c'est le résultat auquel je m'attendais !
Pourquoi www.google.com et www.nvidia.fr ne me répondent ils pas alors que www.vulgarisation-informatique.com le fait ?

  • # ok..

    Posté par . Évalué à 2.

    En fait c'est tout bête.
    Google répond à "GET / HTTP/1.1" pas à "GET / http/1.1" (casse sensitive, ça doit faire partie de la RFC)
    Le site de nvidia requiert que l'on envoie "host: www.nvidia.fr" pour qu'il considère la requête bien formatée.
    Tout comme amazon.com mais qui lui me répond <!-- MEOW --> dans les dernières lignes :)

    • [^] # Re: ok..

      Posté par . Évalué à 1.

      Page wikipedia qui m'avait enduit d'erreur modifiée

      • [^] # Re: ok..

        Posté par . Évalué à 7.

        "enduit d'erreur", hahaha

        • [^] # Re: ok..

          Posté par (page perso) . Évalué à -6.

          Ça sert à quoi telnet en 2014 1999 ?

          « I approve of any development that makes it more difficult for governments and criminals to monopolize the use of force. » Eric Raymond

          • [^] # Re: ok..

            Posté par . Évalué à 7.

            à verifier que ton serveur ecoute et repond sur un port en particulier ?

            perso je m'en sert pour verifier qu'un service smtp fonctionne
            en me connectant au port 25 pour envoyer un email.

            • [^] # Re: ok..

              Posté par . Évalué à 3.

              Perso j'utilise netcat pour ça, ou openssl s_client si la connexion doit être sécurisé.

              Telnet me sert toujours à communiquer avec le bootloader de certains routeurs qui nécessitent des options particulières dans le telnetrc et donc supportent mal netcat.

              • [^] # Re: ok..

                Posté par . Évalué à 2.

                c'est interactif netcat ?

                • [^] # Re: ok..

                  Posté par . Évalué à 2.

                  Ben oui.

                  • [^] # Re: ok..

                    Posté par . Évalué à 2.

                    faudra que j'essaye,
                    et ca change quoi par rapport à telnet ? :p

                    • [^] # Re: ok..

                      Posté par . Évalué à 2.

                      Rien, nc est plus rapide à taper :)
                      Sinon telnet, se trinballe un tas d’options pour l'authentification (non sécurisé) ou l’accès à tout type de réseaux X.25.

                    • [^] # Re: ok..

                      Posté par . Évalué à 3.

                      et ca change quoi par rapport à telnet ? :p

                      Netcat gère l'UDP, et peut faire serveur.

          • [^] # Re: ok..

            Posté par . Évalué à 8.

            Ça sert à quoi telnet en 2014 1999 ?

            C'est quoi cette manie de toujours dénigrer les outils qui font bien leur taf ?

            Telnet est très pratique pour faire des tests rapides d'ouverture de ports. C'est comme si tu demandais à quoi peut servir une pelle en 2013 alors qu'il existe des pelleteuses.

            • [^] # Re: ok..

              Posté par (page perso) . Évalué à -3.

              Telnet est très pratique pour faire des tests rapides d'ouverture de ports.

              pourquoi pas nmap qui est prévu pour ça ?

              C'est comme si tu demandais à quoi peut servir une pelle en 2013 alors qu'il existe des pelleteuses.

              C'est quoi cette manie de toujours servir des comparaisons fallacieuses ?

              Pour telnet, on aurait pu également demander à quoi peut servir une plume d'oie en 2013 alors qu'il existe des stylos à bille.

              « I approve of any development that makes it more difficult for governments and criminals to monopolize the use of force. » Eric Raymond

            • [^] # Re: ok..

              Posté par (page perso) . Évalué à 6.

              C'est quoi cette manie de toujours dénigrer les outils qui font bien leur taf ?

              Réponse hors sujet, vu que ce n'est justement pas le rôle de telnet, cette utilisation. Le logiciel telnet, c'est un client pour le protocole telnet, qui sert à se connecter à distance sur une machine, et ça interprète des séquences de contrôle qui n'ont rien à faire dans un test de communication avec un serveur non telnet.

              L'outil approprié, c'est netcat.

              • [^] # Re: ok..

                Posté par (page perso) . Évalué à 10.

                On peut aussi tester un port TCP ou UDP avec bash si netcat n'est pas installé sur la machine.

                Exemple pour tester un flux HTTP (s'il n'y a pas de proxy HTTP) :

                exec 3<>/dev/tcp/mydomain.example.com/80
                echo -e "GET / HTTP/1.1\nhost:mydomain.example.com\n\n" >&3
                cat <&3

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.