Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1106 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  Equivalent de Telnet sous WinXP en plus agréable

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Equivalent de Telnet sous WinXP en plus agréable

n°1168522
Yoyo@
Posté le 03-08-2005 à 10:01:42  profilanswer
 

Salut,
 
Je suis en train de faire des tests HTTP, et je voulais un peu voir comment ça fonctionnait.
 
D'où l'idée de faire un telnet.
 
Le problème, c'est qu'en lancant Telenet sous WinXP en ligne de commande, rien n'apparaît. Puis ensuite, le résultat est peu exploitable.
 
Connaissez vous il un client du même ype que Telenet, si possible avec une interface graphique et léger? Et si possible gratuit.
 
Merci.


Message édité par Yoyo@ le 03-08-2005 à 13:59:05
mood
Publicité
Posté le 03-08-2005 à 10:01:42  profilanswer
 

n°1168871
el muchach​o
Comfortably Numb
Posté le 03-08-2005 à 13:55:31  profilanswer
 

Putty

n°1168897
zapan666
Tout est relatif
Posté le 03-08-2005 à 14:27:37  profilanswer
 

hyperTerminal [:petrus75] (ou un truc comme ça, c'est livré avec Windows)


---------------
my flick r - Just Tab it !
n°1169280
Yoyo@
Posté le 03-08-2005 à 19:04:36  profilanswer
 

Merci.
 
je viens de télécharger Putty, mais je ne parviens pas à le faire marcher ou alors ne comprends pas comment ca marche.
 
Normalement, ce que je voudrais: je tape n'importe quelle URL plus Port = 80, et ca me retourne le résultat de la requête... Mais là, a priori, ça ne marche pas, alors qu'avec Telnet, ça marche... Ai je raté une marche?
 
Personnellement, c'est comme ça que j'essaie d'utiliser Putty:
Je mets mon URL dans "Host Name" et "80" dans port. Ensuite, je choisis "Telenet" comme protocole...

n°1169649
mcjoedassi​n
Posté le 04-08-2005 à 09:23:33  profilanswer
 

je ne sais pas si c'est une faute de langage, mais c'est le nom d'hôte que tu dois mettre dans host name, pas l'URL
 
Par ailleurs, le protocole utilisé n'est pas telnet, mais raw. Le protocole telnet, c'est pour ouvrir un shell sur un serveur telnet ...
 
Je te donnes un exemple :
- serveur www.google.fr
- port 80
- protocole raw
- et la tu tapes
GET / HTTP/1.1
Host: www.google.fr
 
 

n°1169718
Yoyo@
Posté le 04-08-2005 à 11:32:18  profilanswer
 

Merci beaucoup, si il y avait confusion entre hostname et URL, c'est que cette confusion était aussi présente dna sma tête, vu que je n'arrivais pas à faire marcher le truc. En fait, c'était le protocole (HTTP/1.1) qu'il me manquait.
 
Mais j'ai toujours un problème... Explication:
 
Le but pour moi est de tester un serveur Apache local. Mais le problème, c'est qu'avec IE, la requête marche bien alors qu'avec Putty, le serveur me renvoie un "400".
 
Voici le log fourni par Apache:
 

Code :
  1. 127.0.0.1 - - [04/Aug/2005:11:18:48 +0200] "GET /myFile.html HTTP/1.1" 200 99
  2. 127.0.0.1 - - [04/Aug/2005:11:19:14 +0200] "GET /myFile.html HTTP/1.1" 400 20


 
LEs deux requêtes (IE puis Putty) sont exactement les mêmes.
 
Voici ce que me donne error.log concernant la requête Putty:
 

Code :
  1. [Thu Aug 04 11:19:16 2005] [error] [client 127.0.0.1] client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): /myFile.html


 
Bien entendu, la requête IE ne génère pas d'erreur...
 
Et ensuite, Putty me retourne un "Connection closed by remote host".
 
Bizarre, non?

n°1169720
mcjoedassi​n
Posté le 04-08-2005 à 11:55:27  profilanswer
 

Non,
regarde les rfc si tu veux en savoir plus :)
les logs d'apache ne contiennent pas toute la requete. Une ligne Host: est indispensable au protocole HTTP/1.1

n°1169721
mcjoedassi​n
Posté le 04-08-2005 à 11:56:40  profilanswer
 

Voici à quoi ressemble une requete standard
 
GET / HTTP/1.1
Host: localhost:1234
User-Agent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.7.5) Gecko/20041109 Firefox/1.0
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
 
(ici Firefox)

n°1169726
theshockwa​ve
I work at a firm named Koslow
Posté le 04-08-2005 à 12:17:51  profilanswer
 

mcjoedassin a écrit :

Voici à quoi ressemble une requete standard
 
GET / HTTP/1.1
Host: localhost:1234
User-Agent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.7.5) Gecko/20041109 Firefox/1.0
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
 
(ici Firefox)


La plupart de ces paramètres sont facultatifs, donc requête "standard", c'est vite dit. Usuelle, peut-être ... (et pour lire les réponses, c'est pas forcément conseillé de laisser le gzip,deflate :D)

n°1169730
mcjoedassi​n
Posté le 04-08-2005 à 12:20:29  profilanswer
 

s/standard/usuelle/
c'était pour donner un ordre d'idée
seul le Host est obligatoire a priori. Maintenant certains sites vérifient également le User-Agent par exemple ...


Message édité par mcjoedassin le 04-08-2005 à 12:21:58
mood
Publicité
Posté le 04-08-2005 à 12:20:29  profilanswer
 

n°1169741
theshockwa​ve
I work at a firm named Koslow
Posté le 04-08-2005 à 12:28:43  profilanswer
 

non, même le Host est faculatatif. Il n'est pas forcément nécessaire de rappeler à quelle machine tu es connecté, si tu es déjà dessus :/
Mais comme toujours, la réponse que tu vas obtenir dépendra de la configuration des serveurs et des sites

n°1169746
Yoyo@
Posté le 04-08-2005 à 12:32:35  profilanswer
 

Bon, en fait, je viens un peu de consulter les RFC (quelle big doc)  
 
Et en faisant un:
 

Code :
  1. GET /myFile.html HTTP/1.1
  2. HOST: 127.0.0.1:7963


 
Ca marche...
 
Mais je peux également inclure un HOST vide si dans mon URI, je mets une chemin absolu.
 
Donc:
 

Code :
  1. GET 127.0.0.1:7963/myFile.html HTTP/1.1
  2. HOST:


 
Marche également...
 
Mais là où je me suis fait avoir, c'est que Telnet à la base ne demande pas de mettre la requête complète, juste l'URI... Alors qu'ici, on doit ecrire la requeête avec tous les champs nécessaires.
 
Ce que je ne comprends pas, c'est à quoi ca sert de se connecter avec Putty grace à l'écran initial Host/Port?
 
Puisque finalement, tout est reprécisé dans la requête? Ne pourrrait on pas lancer une requête sans passer par cette connexion intiale?
 
D'autre part, Apache ne me fait pas part du fait que Putty s'est connecté...
 
Enfin, comment faire pour avoir le corps complet des requêtes arrivant sur Apache? N'y a til pas moyen de le faire facilement? Ou alors, il faut peut etre que je modifie mon httpd.conf?
 
 
 
 

n°1169750
theshockwa​ve
I work at a firm named Koslow
Posté le 04-08-2005 à 12:35:28  profilanswer
 

faire :

GET /myFile.html HTTP/1.1

une fois que tu es connecté sur le serveur fonctionnera tout aussi bien sur la majorité des serveurs ... Je ne vérifierai pas dans les RFC si c'est juste un comportement laxiste des serveurs ou non, mais pour l'instant, je n'ai pas eu d'ennui avec ce genre de requête :/

n°1169759
Yoyo@
Posté le 04-08-2005 à 12:39:27  profilanswer
 

theshockwave a écrit :

faire :

GET /myFile.html HTTP/1.1

une fois que tu es connecté sur le serveur fonctionnera tout aussi bien sur la majorité des serveurs ... Je ne vérifierai pas dans les RFC si c'est juste un comportement laxiste des serveurs ou non, mais pour l'instant, je n'ai pas eu d'ennui avec ce genre de requête :/


 
bah nan, ca ne marche pas en faisant juste un GET de la sorte, et c'est bien le sujet de la suite de mon topic... C'est Apache même qui m'a dit "je n'accepte pas, vas voir les RFC", cf mon post plus haut avec mon error.log

n°1169809
mcjoedassi​n
Posté le 04-08-2005 à 13:36:14  profilanswer
 

theShOcKwAvE> non. Tu n'as pas du tester. un exemple : google
 
Yoyo@> tout dépend de la configuration d'apache (les VirtualHosts).
Si t'as un VirtualHost * tu peux te connecter en mettant n'importe quoi.
 
En fait le truc est que tu peux donner plusieurs noms d'hôtes à une même machine. Donc ton client se connecte à une même IP et pourtant il va sur deux sites différents. Le serveur voit un nom d'hôte, il te sert la page correspondante.
 
Par ailleurs, si la commande Host est obligatoire pour HTTP/1.1, elle est facultative pour HTTP/1.0. Par exemple, si tu fais
GET / HTTP/1.0
 
La plupart des sites de donneront la page que tu veux, mais certains sites n'accepterons qu'avec une commande Host.
 
Enfin, il y a une dernière syntaxe qui est le format "proxy" qui te permet d'écrire :
GET http://www.google.fr/ HTTP/1.0
 
voir même carrément
GET http://www.google.fr/ HTTP/1.1
 
C'est peut-être ça dont tu voulais parler ...

n°1169812
Yoyo@
Posté le 04-08-2005 à 13:40:36  profilanswer
 

mcjoedassin a écrit :

theShOcKwAvE> non. Tu n'as pas du tester. un exemple : google
 
Yoyo@> tout dépend de la configuration d'apache (les VirtualHosts).
Si t'as un VirtualHost * tu peux te connecter en mettant n'importe quoi.
 
En fait le truc est que tu peux donner plusieurs noms d'hôtes à une même machine. Donc ton client se connecte à une même IP et pourtant il va sur deux sites différents. Le serveur voit un nom d'hôte, il te sert la page correspondante.
 
Par ailleurs, si la commande Host est obligatoire pour HTTP/1.1, elle est facultative pour HTTP/1.0. Par exemple, si tu fais
GET / HTTP/1.0
 
La plupart des sites de donneront la page que tu veux, mais certains sites n'accepterons qu'avec une commande Host.
 
Enfin, il y a une dernière syntaxe qui est le format "proxy" qui te permet d'écrire :
GET http://www.google.fr/ HTTP/1.0
 
voir même carrément
GET http://www.google.fr/ HTTP/1.1
 
C'est peut-être ça dont tu voulais parler ...


 
Merci pour ces renseignements.
 
Je suis justement en train d'étudier tout ça concernant Apache (les VirtualHost et autres). Et d'ailleurs, c'est pour ça que je voulais un client sur mon ordi (genre Telnet) qui puisse me montrer ce qu'il se passe dessous.
 
Pour ma part, concernant Apache et les VirtualHost (enfin, peut être que ma question ne concerne pas les VirtualHost, je n'en sais rien)
 
Si je tape dans mon browser: http://www.hardware.fr, qu'est ce qu'il se passe? Est ce que le serveur de hfr va voir que j'ai demandé http://www.hardware.fr, oa alors n'en saura t il rien, car finalement, le DNS aura remplacé www.hardware.fr par l'IP du serveur hfr?  

n°1169820
mcjoedassi​n
Posté le 04-08-2005 à 13:48:46  profilanswer
 

le browser envoit en HTTP/1.1 avec le nom d'hôte qu'il extrait de l'URL.

n°1169824
Yoyo@
Posté le 04-08-2005 à 13:52:54  profilanswer
 

Ah oui, ca veut dire que hfr va recevoir qqchose du type:
 

Code :
  1. GET / HTTP/1.1
  2. HOST: www.hardware.fr


 
En fait, IE ira taper à la bonne adresse grace au DNS, mais il aura entre temps extrait de l'URI le nom d'host qu'il mettra dans HOST, c'est ca?
 
 

n°1169849
mcjoedassi​n
Posté le 04-08-2005 à 14:17:41  profilanswer
 

ouip
http://forum.hardware.fr/hardwarefr/...
 
sera transformé en
http => protocole http, port 80 par défaut
forum.hardware.fr => nom d'hôte
forum.hardware.fr + DNS => adresse IP
/hardwarefr/... => page à demander
 
quand tu passes par un proxy c'est pareil sauf que
- tu fais le GET sur l'URL complete
- tu te connectes sur l'IP: port du proxy


Message édité par mcjoedassin le 04-08-2005 à 14:18:03
n°1169850
theshockwa​ve
I work at a firm named Koslow
Posté le 04-08-2005 à 14:18:04  profilanswer
 

mcjoedassin a écrit :

theShOcKwAvE> non. Tu n'as pas du tester. un exemple : google


 
J'ai pris  une mauvaise habitude avec mon serveur personnel, alors :whistle:

n°1169859
Yoyo@
Posté le 04-08-2005 à 14:22:39  profilanswer
 

mcjoedassin a écrit :

ouip
http://forum.hardware.fr/hardwarefr/...
 
sera transformé en
http => protocole http, port 80 par défaut
forum.hardware.fr => nom d'hôte
forum.hardware.fr + DNS => adresse IP
/hardwarefr/... => page à demander
 
quand tu passes par un proxy c'est pareil sauf que
- tu fais le GET sur l'URL complete
- tu te connectes sur l'IP: port du proxy


 
Ouh là, si on commence à rajouter des proxies...
 
Quand tu me parles de proxy (je n'y connais rien, je sais juste que c'est une passerelle et que le lien n'est pas direct), veux dire : au cas ou le serveur hardware.fr ne serait pas atteint directement, mais à travers un autre serveur (le proxy). En fait, ca veut dire que le DNS donnera l'IP du proxy quand mon browser lui demandera hardware.fr, c'est ca?

n°1169870
mcjoedassi​n
Posté le 04-08-2005 à 14:31:40  profilanswer
 

regarde c'est très simple - rien a voir avec le DNS :
direct ca donne :
 
$ telnet forum.hardware.fr 80
GET / HTTP/1.1
Host: forum.hardware.fr
 
HTTP/1.1 200 OK  
...
 
et via un proxy :
 
$telnet proxy 8080
GET http://forum.hardware.fr/ HTTP/1.1
Host: forum.hardware.fr
 
HTTP/1.1 200 OK
...

n°1169894
Yoyo@
Posté le 04-08-2005 à 14:53:24  profilanswer
 

Merci!
 
Ta façon de m'expliquer, c'est
 $ telnet = la comande que je tape
 GET... = ce que telnet va générer comme requête pour moi?
 
Si c'est le cas, alors en faisant: $telnet proxy 8080, comment mon proxy connait il l'URI ou je veux aller?

n°1169905
mcjoedassi​n
Posté le 04-08-2005 à 15:00:29  profilanswer
 

oui. Si tu étais sur une ligne de commande tu ferais

telnet hote service


 
ensuite telnet ici ne génère rien. Il envoit juste les données que tu tapes et reçoit direct les données du serveur, qu'il t'affiche. En fait la commande telnet permet deux choses : de connecter à un serveur telnet en utilisant le protocole adéquat OU le fonctionnement présent à savoir des envois de messages.
 
Justement, pour savoir où il doit aller, le proxy regarde ton GET et il voit http://serveur/file donc il sait qu'il doit se connecter au serveur et chercher le fichier file

n°1169935
Yoyo@
Posté le 04-08-2005 à 15:28:35  profilanswer
 

D'accord, en relisant ton explication plus haut, je pense que j'ai compris:
 
je me connecte au proxy grace à Telnet, en connaisance de cause et je demande au proxy de se connecter sur hardware.fr, c'est ca? Au final, hardware.fr ne saura pas qui est le client original, il ne verra que l'IP du proxy?

n°1169937
mcjoedassi​n
Posté le 04-08-2005 à 15:33:13  profilanswer
 

Oui, sauf que...
certains proxy rajoutent une ligne dans la requete, genre  
 
GET machin
Host: bidule
X-Forwarded-For: 1.2.3.4   <- ton adresse IP
 
de plus toutes tes connexions passent par un proxy, donc finalement, pour la confidentialité, ça se discute.
 
Les proxy seraient plutôt utiles dans une entreprise qui a un réseau local et qui souhaite que ses employés aient accès au web. Du coup, il relient le proxy à Internet + au réseau local, et comme ça les employés peuvent voir les pages web via proxy.


Message édité par mcjoedassin le 04-08-2005 à 15:41:01
n°1169959
Yoyo@
Posté le 04-08-2005 à 15:49:41  profilanswer
 

D'accord!
 
Par contre,tu me dis que toutes mes connexions passent par proxy (ce qui me parait dans le fond évident), comment ca se fait que du coté d'Apache, quand on regarde la tête de la requête, on voit l'IP de la source et non pas celle du proxy?
 
Par exemple, un ami se connectait chez moi, et c'était son IP que je voyais dans les logs....


Message édité par Yoyo@ le 04-08-2005 à 15:50:11
n°1169964
mcjoedassi​n
Posté le 04-08-2005 à 15:54:10  profilanswer
 

tes connexions passent par un proxy si tu as configuré ton navigateur pour qu'il en soit ainsi !

n°1169967
Yoyo@
Posté le 04-08-2005 à 15:57:47  profilanswer
 

Bah non, je n'ai rien configuré de tel.
 
D'ailleurs, si je voulais que mes connexions passent par un proxy, il me faudrait trouver un proxy, ce qui est une démarche volontaire et payante, non?
 
Donc, le commun des mortels ne passe pas par proxy?

n°1169972
mcjoedassi​n
Posté le 04-08-2005 à 16:00:54  profilanswer
 

Citation :

D'ailleurs, si je voulais que mes connexions passent par un proxy, il me faudrait trouver un proxy, ce qui est une démarche volontaire et payante, non?


Tu peux trouver des listes de proxy gratuits sur Internet éventuellement, si tu veux voir comment ça marche. Ca te ralentit plus qu'autre chose...
 

Citation :

Donc, le commun des mortels ne passe pas par proxy?


La plupart, ceux qui se connectent de chez eux ...
Maintenant d'une entreprise, ce n'est pas pareil !

n°1170011
Yoyo@
Posté le 04-08-2005 à 16:43:00  profilanswer
 

OK, parfait!
 
Je dois m'absenter quelques jours, mais merci pour toutes ces réponses.
 
J'étudierai tout ça dès mon retour,
 
:hello:

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  Equivalent de Telnet sous WinXP en plus agréable

 

Sujets relatifs
[JS] Equivalent à explode()pb avec un "cp" sous cygwin/winxp
Equivalent AUTOINCREMENT en MySQL?Equivalent MySQL
Equivalent TOP en MySQL?[Visual C++] Recherche un équivalent de popen
[CSS][XHTML] équivalent de target pour un object ?Equivalent de la touche "tab" mais avec la touche "Enter" [vb.net ]
[c++ .net] équivalent javadocprobleme telnet
Plus de sujets relatifs à : Equivalent de Telnet sous WinXP en plus agréable


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR