Bash脚本连接到开放端口,发送请求,读取响应

Bash脚本连接到开放端口,发送请求,读取响应

问题描述:

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

谢谢

netcat应该几乎能够做你想做的。

如果你能够做到你想做的事情,期望是很好的:只需阅读手册页即可轻松完成工作。

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

+0

就我所能预料的那样,它实际上是需要一个特定的响应,例如“密码”。在这种情况下,我不知道我会回来什么 - 我只想读取返回的内容。 – 2009-12-02 11:51:37

+0

我认为你应该能够通配这个 – 2009-12-02 11:53:39

我相信你可以自动完成这个,我记得看到的telnet命令(用Ctrl + M标记用于模拟回车),并把这些命令到一个文本文件并发出

的telnet,某

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

希望这会有所帮助, 最好的问候, 汤姆。

P.S:在命令行here上使用此命令可以找到链接。

+0

正如antik&Brian Agnew所提到的,似乎期望是更简单的解决方案。 :) – t0mm13b 2009-12-02 11:50:31