Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash脚本连接到打开的端口,发送请求,读取响应_Bash_Sockets_Telnet_Netcat - Fatal编程技术网

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

Bash脚本连接到打开的端口,发送请求,读取响应,bash,sockets,telnet,netcat,Bash,Sockets,Telnet,Netcat,我有一个在localhost:port上运行的服务。在bash脚本中,我希望连接到这个端口,发送请求,并读回响应——本质上是使telnet会话自动化。最好的方法是什么?我正在查看/dev/tcp、netcat或telnet/expect 谢谢netcat应该可以做你想做的事情。如果你能让它做你想做的事情,Expect是很棒的:只需阅读手册页,它就很容易学习和使用。就是为了完成这个精确的任务而设计的。它不仅可以处理客户机/服务器对话框,还可以处理超时、断开连接等情况。它有多种实现(Perl和Tcl

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


谢谢

netcat应该可以做你想做的事情。

如果你能让它做你想做的事情,Expect是很棒的:只需阅读手册页,它就很容易学习和使用。

就是为了完成这个精确的任务而设计的。它不仅可以处理客户机/服务器对话框,还可以处理超时、断开连接等情况。它有多种实现(Perl和Tcl是我脑海中的两种),因此您可以选择一种来适应当前的标准和环境。

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

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

希望这有帮助, 顺致敬意, 汤姆


附言:这里有一个链接,指向在命令行中使用此命令可以找到的内容。

正如antik&Brian Agnew所提到的,expect似乎是更简单的解决方案。:)但就我所知,expect实际上需要一个特定的响应,例如“密码”。在这种情况下,我不知道我会得到什么-我只想阅读任何返回的内容。我想你应该能够通配符这个