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 commande telnet
. Quel serait un remplacement pratique? La machine A est CentOS.
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.
iirc, telnet n'est plus installé par défaut sur les machines centos 6. si vous n'avez pas d'outils comme telnet
ou nc
disponibles, 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()
>>>
N'importe lequel de: nc (netcat), nmap, hping.
http://linux.byexamples.com/archives/258/when-netcat-act-as-telnet-client-it-becomes-better/