Como testar uma conexão sem telnet? [fechadas]

22

Estou tentando testar se a máquina A pode se conectar à máquina B em determinadas portas. Os administradores da máquina A consideraram adequado remover o telnetcomando. O que seria um substituto conveniente? A máquina A é o CentOS.

Steve Bennett
fonte
2
Converse com os administradores de sistemas de A e informe-os sobre sua necessidade. No que diz respeito às alternativas, consulte o netcat. Isso é fora de tópico, pois você não tem os privilégios na máquina em questão para corrigir o problema.
EEAA
"Converse com os administradores do sistema A e informe-os sobre sua necessidade." - improvável neste ambiente. \ Netcat não está instalado. \ Eu acho - eu sou sysadmin na máquina B embora.
Steve Bennett
Porém, isso não entra no tópico.
EEAA
5
Hmm, parece que o escopo do SF é muito mais restrito do que o que é realmente especificado nas Perguntas frequentes. (por exemplo, meta.serverfault.com/questions/4111/… )
Steve Bennett
Se você é o administrador da máquina B, tudo o que você pode fazer é garantir que a máquina B esteja permitindo o acesso. O trabalho dos administradores de sistemas da máquina A é fornecer as ferramentas necessárias ou fazer os próprios testes. Como está agora, como você não possui nenhum programa que possa ser usado para iniciar a conexão, a resposta é que não, A não pode se conectar.
Jenny D diz Reinstate Monica

Respostas:

26

iirc, o telnet não está mais instalado por padrão nas máquinas do centos 6. se você não possui ferramentas como telnetou ncdisponíveis, sempre pode conversar com um soquete de rede usando python. (não tenho certeza se isso se encaixa no seu requisito "conveniente" ...)

para simplesmente testar se a conexão pode ser estabelecida:

[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))                                                                                                                                                                                                           

Se isso não gerou um erro até agora, a conexão está correta. Se você também deseja testar o recebimento / envio de dados, continue assim:

>>> 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
fonte
1
Na verdade, não é conveniente, mas conseguiu o trabalho quando nada mais estava disponível. (I necessário para validar que gpsd estava publicando a localhost: 2497 em um sistema embarcado: sucesso!)
Robert Calhoun
5

Um método que eu inventei:

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

$ telnet localhost 10123

Falhou, mas eu não tinha certeza se isso era realmente diagnóstico ou não. Tendo testado mais, é de fato diagnóstico.

Steve Bennett
fonte