Como posso detectar se o telnet está sendo executado em um servidor?

1

Eu tenho um escopo digital, com LAN de conexão. Gostaria de verificar se telnet está sendo executado no osciloscópio (o manual não diz isso, mas o manual não oferece nada útil sobre a porta LAN).

Eu tentei conectar (e consegui) conectar-me ao netcat e também ao telnet. O comando telnet confirma a conexão, mas só consigo ver a conexão com a porta TCP (usando wireshark ).

Pelo que li sobre o protocolo telnet , de fora, parece uma porta TCP atendida, e os comandos de negociação de configuração são opcionais, então enviar esses dados não seria convincente se nenhuma resposta viesse.

EDIT : Caso alguém esteja interessado, o escopo é o Owon SDS7102E. Não compre esse escopo se você estiver interessado nele para a conexão LAN. A documentação é basicamente inexistente (diz "LAN é igual a USB"). O fabricante parece um pouco interessado em ajudar (pelo menos respondeu), mas ainda não há soluções reais.

    
por jcoppens 05.05.2018 / 06:17

2 respostas

4

Você pode depurar sua conexão telnet no cliente adicionando 3 linhas ao seu arquivo ~/.telnetrc :

scope
 set netdata
 set options

onde scope é o nome do host do seu escopo e deve estar na coluna 1, e as outras 2 linhas devem ter um espaço recuado.

Quando você executar o telnet, ele deverá mostrar os dados lidos e gravados e os comandos enviados e recebidos, se houver.

Você pode enviar comandos explícitos de negociação telnet para ver se o seu escopo responde. Note que, quando você altera uma configuração para um valor que o controle já pensa, ela não irá responder, então você pode precisar tentar um comando e seu inverso. Por exemplo, (digite control -] para entrar no modo de comando), envie "are you there?":

telnet> send ayt
> 0x0   fff6
< 0x0   74643a207265637620494143204159540d0a0d0a5b686f6d65203a207965735d
< 0x20  0d0a
td: recv IAC AYT

[scope : yes]

As linhas de dados > e < são o resultado de set netdata . As linhas de negociação td: são o resultado de set options . (Se você não vê-los, talvez seu arquivo rc tenha sido ignorado, então digite-os explicitamente no modo de comando.)

Defina echo, depois desligue e ligue novamente:

telnet> send do echo

telnet> send dont echo
> 0x0   fffe01
< 0x0   74643a207265637620646f6e74204543484f0d0afffc0174643a2073656e6420
< 0x20  776f6e74204543484f0d0a
td: recv dont ECHO
td: send wont ECHO

telnet> send do echo
> 0x0   fffd01
< 0x0   74643a207265637620646f204543484f0d0afffb0174643a2073656e64207769
< 0x20  6c6c204543484f0d0a
td: recv do ECHO
td: send will ECHO
    
por 05.05.2018 / 11:43
0

Você pode se conectar a qualquer porta com telnet, mesmo que não haja um servidor telnet por trás dele. Se a porta espera que o cliente envie algo primeiro, você não verá nada durante a conexão e essa é exatamente a situação que você tem.

Portanto, pode haver um servidor de telnet em execução e esperando a entrada, pode haver algo mais em execução ou pode ser um recurso de firewall que apenas finge que você pode se conectar a ele. Com telnet sozinho, é difícil dizer.

Se você quiser descobrir quais possíveis serviços estão sendo executados em um dispositivo desconhecido, recomendo testar com nmap .

    
por 05.05.2018 / 07:26

Tags