【问题标题】:Bash script to connect to open port, send request, read response连接到开放端口、发送请求、读取响应的 Bash 脚本
【发布时间】:2010-12-22 09:17:54
【问题描述】:

我有一个在 localhost:port 上运行的服务。在一个 bash 脚本中,我想连接到这个端口,发送一个请求,然后读回响应——本质上是自动化一个 telnet 会话。这样做的最佳方法是什么?我正在查看 /dev/tcp、netcat 或 telnet/expect。

谢谢

【问题讨论】:

    标签: bash sockets telnet netcat


    【解决方案1】:

    我相信您可以自动执行此操作,我记得看到 telnet 命令(使用 Ctrl+M 标记来模拟回车)并将这些命令放入文本文件并发出

    远程登录某个主机

    输出被发送到标准输出(您的终端),然后可以被捕获。

    希望这会有所帮助, 最好的祝福, 汤姆。

    P.S:这是在命令行here 上找到的链接。

    【讨论】:

    • 正如 antik 和 Brian Agnew 所提到的,似乎 expect 是更容易的解决方案。 :)
    【解决方案2】:

    Expect 专为完成这项精确任务而构建。它不仅可以处理客户端/服务器对话框,还可以处理超时、断开连接等场景。它可用于多种实现(Perl 和 Tcl 是我最想不到的两个),因此您可以选择一个适合您当前的标准和环境。

    【讨论】:

    • 据我所知,期望它实际上期望一个特定的响应,例如“密码”。在这种情况下,我不知道我会返回什么 - 我只想阅读返回的任何内容。
    • 我认为你应该可以使用通配符
    【解决方案3】:

    如果你能让它做你想做的事,那就太好了:只需阅读手册页就可以轻松获取和使用它。

    【讨论】:

      【解决方案4】:

      netcat 应该几乎可以做你想做的事。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-05-03
        • 1970-01-01
        • 1970-01-01
        • 2017-12-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多