Telnet sur un serveur Linux

Je veux savoir sil est nécessaire dactiver telnet des deux côtés des machines pour obtenir une connexion telnet.

Voici le problème: jessaye de connecter une adresse IP publique sur le port 80 à un serveur Web Linux (Red Hat).

Cette adresse IP publique a activé HTTP (80). I  » Je ne sais pas si telnet est activé mais le propriétaire dit que oui.

Sur mon serveur Linux, HTTP (80) est activé mais pas telnet. Au lieu de cela, SSH est activé.

Lorsque je télnet depuis mon serveur Linux: telnet PublicIP 80 il dit:

Trying "PublicIP"... Connected to "PublicIP" ("PublicIP"). Escape character is "^]". Connection closed by foreign host

Dois-je activer telnet sur mon serveur pour quil fonctionne? Parce quil ny a pas de problème à l autre extrémité comme confirmé par d autres sources. IP publique: 220.226.190.180

Veuillez expliquer comment puis – je le faire fonctionner. Si je dois activer telnet sur mon serveur Linux, sil vous plaît partagez la commande et la méthode pour le faire.

Commentaires

  • comme nous savons que le port telnet nest pas sécurisé, donc la plupart des fw le bloquent, êtes-vous sûr quil ny a ‘ aucun pare-feu (sur lautre machine) qui bloque le port telnet.
  • Il semble que vous avez déjà fait ce que vous vouliez … Vous telnet ‘ envoyé au service HTTP distant et comme vous navez ‘ rien tapé, la connexion a été fermée. Vous navez pas besoin dactiver le service Telnet (Serveur) sur nimporte quelle machine. Vous utilisez le client telnet. Vous pouvez également utiliser curl / wget / nc / nimporte quoi pour faire la même chose.
  • Il y a de fortes chances que ce soit le cas. Mais cest autorisé à tout le monde. même si je peux le Telnet depuis mon réseau domestique sur mon PC Windows. mais cest depuis mon bureau ia m face. tout est autorisé de notre côté du pare-feu à partir de ce serveur.
  • @Networker le problème de sécurité est (dans ce contexte) tout simplement insensé. telnet est utilisé comme client pour tester laccessibilité dun service – et NON, le port telnet nest pas impliqué.

Réponse

Vous essayez de tester la connectivité à un serveur Web distant avec telnet? Alors non: vous navez pas besoin de serveurs Telnet. Le serveur HTTP distant attend des commandes, comme indiqué par le caractère déchappement. Lorsquil expire, la connexion est fermée. Alors …

telnet <hostname or ip address> 80

Tapez ensuite quelques commandes HTTP:

GET / HTTP/1.1 host: <fqdn> 

Utilisez le FQDN dun hôte que le serveur Web distant a été configuré pour servir. Il renverra le document par défaut avec les commandes HTTP ci-dessus. Veuillez noter le commentaire précis de 0xAF.

Commentaires

  • LOP a besoin de saisir 1 ligne vide après son entrée pour pouvoir récupérer nimporte quelle réponse. La plupart des serveurs HTTP autoriseront la communication HTTP / 1.0. Si lOP essaie de tester uniquement le service HTTP, il peut simplement écrire  » GET / HTTP / 1.0  » et appuyer sur la touche Entrée 2 fois.

Réponse

Pour répondre à votre question dans la première phrase: Telnet est deux choses: a application côté serveur (démon) et application côté client.

Lorsquun serveur telnet est en cours dexécution, lordinateur écoute sur le port TCP 23 les connexions à partir dun client telnet.

Un client telnet nécoute sur aucun port, mais tente plutôt de se connecter au port TCP 23 (par défaut) sur un ordinateur. Sil se connecte correctement, lutilisateur peut être invité à se connecter et avoir une session shell interactive. Comme telnet communique par défaut en utilisant du texte brut et non chiffré (y compris votre mot de passe!), Cela nest PAS recommandé.

Cependant, comme le dit Christopher dans son excellente réponse, si vous essayez vraiment de tester un serveur http en utilisant telnet, vous pouvez utiliser le programme telnet pour cela, et vous navez pas besoin dun serveur telnet.

Le programme client telnet peut être utilisé pour se connecter à dautres ports TCP que le port par défaut 23.

telnet <hostname> <TCP port> 

Comme les serveurs http écoutent généralement sur le port 80, vous pouvez utiliser le programme telnet pour vous connecter au port 80 et voir ce que le serveur http envoie aux navigateurs lorsquils se connectent:

telnet google.com 80 

Cela va connecter, mais vous devez ensuite taper le texte suivant, qui est juste une simple requête http (la casse est importante):

GET / HTTP/1.1 host: test.com 

Appuyez ensuite deux fois sur Entrée.

Vous verrez alors tout le code HTML brut que Google sert aux navigateurs. Vous pouvez utiliser ce même concept pour tester votre propres serveurs http.

Réponse

telnet peut être utilisé pour tester le protocole HTTP mais il existe des outils mieux adaptés à la tâche. Je recommande personnellement curl. Il sagit essentiellement dun utilitaire de ligne de commande capable dinteragir avec une grande variété de protocoles (HTTP, HTTPS, FTP …). Utiliser curl au lieu de telnet pour tester un serveur HTTP vous évitera davoir à saisir manuellement les requêtes HTTP et vous fournira plus dinformations dans lensemble.Certaines fonctionnalités que vous pourriez trouver utiles dans votre situation actuelle sont:

Connectez-vous à un hôte en utilisant HTTP et demandez le document par défaut:

curl <public ip> 

Connectez-vous à un hôte via HTTP et affichez uniquement les en-têtes HTTP:

curl -I <public ip> 

Connectez-vous à lhôte via HTTP, affichez uniquement les en-têtes HTTP et suivez les redirections 3xx:

curl -LI <public ip> 

curl a littéralement des dizaines doptions. Je recommande dutiliser curl --help pour un résumé rapide et man curl ou curl --manual pour des informations plus détaillées.

Réponse

Si vous navez pas telnet ou curl, vous pouvez également utiliser cat et proc dir pour connecter un port:

cat < /dev/tcp/HOST/PORT 

Extrait de cet article (en espagnol) .

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *