Verificar Telnet no script bash

0

Eu quero executar os seguintes comandos na forma de script bash no Solaris 10:

$ telnet localhost 25
debug
quit

Como faço para lidar com isso?

    
por Gohar 15.07.2015 / 11:14

2 respostas

1

Se tiver alguma sorte em ter o bash configurado com --enable-net-redirections , redirecionamentos especiais do Bash pode ser útil:

cat <<EOF >/dev/tcp/localhost/25
debug
quit
EOF

Quando você também está interessado na saída do servidor:

exec 3<>/dev/tcp/localhost/25 # open localhost:25 as fd 3
cat <<EOF >&3 # write to fd 3
debug
quit
EOF
cat <&3   # read from fd 3
exec >&3- # close fd 3
    
por 15.07.2015 / 13:42
0

Edit: como sugerido, e depois do teste, este trabalho no linux, mas não no solaris como pedido do OP.

estilo de cano

(echo debug ; echo qui ) | nc localhost 25

ou (estilo heredoc)

nc localhost 25 <<EOF
debug
quit
EOF

no meu ubuntu, o telnet não aceita entrada, enquanto o netcat faz.

    
por 15.07.2015 / 11:25