我正在连接到telnet监听器.Telnet服务器每秒发送"1234".我想阅读消息"1234"并关闭telnet会话.以下是我的代码,但它不起作用.
#!/bin/bash
telnet 192.168.10.24 1234
read $RESPONSE
echo "Response is"$RESPONSE
echo "quit"
Run Code Online (Sandbox Code Playgroud)
如何自动读取telnet消息?
您可以使用内部TCP机制:
#!/bin/bash
exec 3<>/dev/tcp/127.0.0.1/80
# echo -en "eventualy send something to the server\n" >&3
RESPONSE="`cat <&3`"
echo "Response is: $RESPONSE"
Run Code Online (Sandbox Code Playgroud)
或者您可以使用nc(netcat),但请不要使用telnet!
下面给出了最简单,最简单的方法。
sleep <n> | telnet <server> <port>
Run Code Online (Sandbox Code Playgroud)
n-自动退出之前的等待时间(以秒为单位)。它可以是小数,例如0.5。请注意,某些必需的输出可能不会在指定的等待时间内返回。因此,我们可能需要相应增加。
服务器 -目标服务器IP或主机名。
port-目标服务端口号。
您还可以像这样将输出重定向到文件,
sleep 1 | telnet <server> <port> > output.log
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15098 次 |
| 最近记录: |