Comment tester une connexion sans telnet? [fermé]

22

J'essaie de tester si la machine A peut se connecter à la machine B sur certains ports. Les administrateurs système de la machine A ont jugé bon de supprimer la telnetcommande. Quel serait un remplacement pratique? La machine A est CentOS.

Steve Bennett
la source
2
Parlez avec les administrateurs système de A et informez-les de vos besoins. En ce qui concerne les alternatives, regardez dans netcat. Ceci est hors sujet car vous n'avez pas les privilèges sur la machine en question pour résoudre le problème.
EEAA
"Parlez avec les administrateurs système de A et informez-les de votre besoin." - peu probable dans cet environnement. \ Netcat n'est pas installé. \ Je suppose - je suis cependant administrateur système sur la machine B.
Steve Bennett
Cependant, cela ne fait pas partie du sujet.
EEAA
5
Hmm, on dirait que la portée de SF est beaucoup plus étroite que ce qui est réellement spécifié dans la FAQ. (par exemple, meta.serverfault.com/questions/4111/… )
Steve Bennett
Si vous êtes l'administrateur système de la machine B, tout ce que vous pouvez faire est de vous assurer que la machine B autorise l'accès. Il incombe aux administrateurs système de la machine A de vous fournir les outils dont vous avez besoin ou d'effectuer les tests eux-mêmes. Dans l'état actuel des choses, puisque vous n'avez aucun programme pouvant être utilisé pour établir la connexion, la réponse est que non, A ne peut pas se connecter.
Jenny D dit Reinstate Monica

Réponses:

26

iirc, telnet n'est plus installé par défaut sur les machines centos 6. si vous n'avez pas d'outils commetelnet ou ncdisponibles, vous pouvez toujours parler à un socket réseau en utilisant python. (je ne sais pas si cela correspond à votre exigence "pratique" si ...)

pour tester simplement si la connexion peut être établie:

[gryphius@ut ~]$ python
Python 2.6.6 (r266:84292, Feb 22 2013, 00:00:18) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2                                                                                                                                                                                                                               
Type "help", "copyright", "credits" or "license" for more information.                                                                                                                                                                                                         
>>> import socket                                                                                                                                                                                                                                                              
>>> conn=socket.create_connection(('gmail-smtp-in.l.google.com',25))                                                                                                                                                                                                           

Si cela n'a pas généré d'erreur jusqu'à présent, la connexion est correcte. Si vous souhaitez également tester la réception / l'envoi de données, vous pouvez continuer comme ceci:

>>> input=conn.makefile()                                                                                                                                                                                                                                                      
>>> print input.readline()                                                                                                                                                                                                                                                     
220 mx.google.com ESMTP p2si6911139eeg.7 - gsmtp                                                                                                                                                                                                                               
>>> conn.sendall('HELO example.com\r\n')
>>> print input.readline()
250 mx.google.com at your service

>>> conn.sendall('QUIT')
>>> conn.close()
>>> 
Gryphius
la source
1
En effet, ce n'est pas pratique, mais il a fait le travail quand rien d'autre n'était disponible. (Je devais valider que gpsd publiait sur localhost: 2497 sur un système embarqué: succès!)
Robert Calhoun
5

Une méthode que j'ai trouvée:

$ ssh -f -N machineA -L 10123:machineB:123

$ telnet localhost 10123

Cela a échoué, mais je ne savais pas si c'était réellement un diagnostic ou non. Ayant testé plus avant, il s'agit bien d'un diagnostic.

Steve Bennett
la source