¿Cómo probar una conexión sin telnet? [cerrado]

22

Estoy tratando de probar si la máquina A puede conectarse a la máquina B en ciertos puertos. Los administradores de sistemas de la máquina A han considerado conveniente eliminar el telnetcomando. ¿Cuál sería un reemplazo conveniente? La máquina A es CentOS.

Steve Bennett
fuente
2
Hable con los administradores de sistemas de A e infórmeles de su necesidad. En cuanto a las alternativas, busca en netcat. Esto está fuera de tema, ya que no tiene los privilegios en la máquina en cuestión para solucionar el problema.
EEAA
"Hable con los administradores de sistemas de A e infórmeles de su necesidad". - poco probable en este entorno. \ Netcat no está instalado. \ Supongo que soy administrador de sistemas en la máquina B.
Steve Bennett
Sin embargo, eso no lo hace sobre el tema.
EEAA
55
Hmm, parece que el alcance de SF es mucho más estrecho que lo que realmente se especifica en las preguntas frecuentes. (p. ej., meta.serverfault.com/questions/4111/… )
Steve Bennett
Si usted es el administrador del sistema de la máquina B, todo lo que puede hacer es asegurarse de que la máquina B permita el acceso. El trabajo de los administradores de sistemas de la máquina A es brindarle las herramientas que necesita o realizar las pruebas ellos mismos. Tal como está ahora, dado que no tiene ningún programa que pueda usarse para iniciar la conexión, la respuesta es que no, A no puede conectarse.
Jenny D dice Reinstate Monica el

Respuestas:

26

iirc, telnet ya no está instalado por defecto en las máquinas centos 6. Si no tiene herramientas como telneto ncdisponibles, siempre puede hablar con un socket de red usando Python. (aunque no estoy seguro si esto se ajusta a su requisito "conveniente" ...)

simplemente para probar si se puede establecer la conexión:

[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 eso no arrojó un error hasta ahora, la conexión está bien. Si también desea probar la recepción / envío de datos, puede continuar así:

>>> 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()
>>> 
Grifo
fuente
1
De hecho, no es conveniente, pero hizo el trabajo cuando no había nada más disponible. (Necesitaba validar que gpsd estaba publicando en localhost: 2497 en un sistema integrado: ¡éxito!)
Robert Calhoun
5

Un método que se me ocurrió:

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

$ telnet localhost 10123

Falló, pero no estaba seguro de si eso era realmente diagnóstico o no. Habiendo probado más, es de hecho diagnóstico.

Steve Bennett
fuente