首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于解析telnet消息并退出的Linux脚本

用于解析telnet消息并退出的Linux脚本
EN

Stack Overflow用户
提问于 2012-04-16 19:00:17
回答 4查看 20K关注 0票数 9

我正在连接到远程登录监听程序。Telnet服务器每秒发送"1234“。我想阅读消息"1234“并关闭telnet会话。下面是我的代码,但它不能工作。

代码语言:javascript
复制
#!/bin/bash
telnet 192.168.10.24 1234
read $RESPONSE
echo "Response is"$RESPONSE
echo "quit"

如何自动读取telnet消息?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-04-16 19:14:12

您可以使用内部TCP机制:

代码语言:javascript
复制
#!/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"

或者您可以使用nc (netcat),但请不要使用telnet!

票数 6
EN

Stack Overflow用户

发布于 2014-06-13 20:07:22

下面给出了最简单和最容易的方法。

代码语言:javascript
复制
sleep <n> | telnet <server> <port>

n -自动退出前的等待时间(秒)。它可以是像0.5这样的分数。请注意,某些必需的输出可能无法在指定的等待时间内返回。因此,我们可能需要相应地增加。

服务器-目标服务器IP或主机名。

端口-目标服务端口号。

您还可以将输出重定向到文件,如下所示:

代码语言:javascript
复制
sleep 1 | telnet <server> <port> > output.log

更新1#:如果远程主机既不接受也不丢弃连接请求,则上述方法可能无法工作。在这些情况下,以下方法有效:

代码语言:javascript
复制
RESPONSE=$(timeout 5 telnet 192.168.10.24 1234)
票数 9
EN

Stack Overflow用户

发布于 2012-04-16 19:10:17

将输出重定向到文件并从该文件读取

代码语言:javascript
复制
telnet [ip-address] > /tmp/tempfile.txt
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10172860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档