Telnet 检查 bash 脚本

Telnet 检查 bash 脚本

我想在 Solaris 10 中以 bash 脚本形式运行以下命令:

$ telnet localhost 25
debug
quit

我该如何处理这个问题?

答案1

如果你有幸配置了 bash --enable-net-redirectionsBash 的特殊重定向可能有用:

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

当您也对服务器的输出感兴趣时:

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

答案2

编辑:根据建议,经过测试,这可以在Linux上工作,但不能按照OP请求在solaris上工作。

管道样式

(echo debug ; echo qui ) | nc localhost 25

或(heredoc 风格)

nc localhost 25 <<EOF
debug
quit
EOF

在我的 ubuntu 上,telnet 不接受输入,而 netcat 接受输入。

相关内容