有没有办法“收听”到 Telnet 流?

Posted

技术标签:

【中文标题】有没有办法“收听”到 Telnet 流?【英文标题】:Is there a way to "Listen in" to a Telnet stream? 【发布时间】:2011-09-17 10:54:26 【问题描述】:

我只是想要一种简单的方法来查看 Telnet 流中的最后两行是什么。例如,如果您可以想象一个终端窗口,我只想能够输入一个命令,按回车键,然后查看响应是什么。到目前为止,我可以执行命令,但无法评估响应。 stream_get_line 不仅仅返回两行响应,而是从流中返回每一行。

谁能推荐一个函数或者更好的方法来编写它?

$con = @pfsockopen("10.30.96.55", 23, $errno, $errstr, 30);

fputs($con, "ipaddress get\r");

while (!feof($con))  
    $response = stream_get_line($con, 100, "\n"); 
 

echo $response;

可能是我没完全看懂stream_get_line();如果我在做一些愚蠢的事情,请有人帮帮我。谢谢!

【问题讨论】:

【参考方案1】:

在对fgets() 进行了更多实验后,我已经能够达到预期的效果。

而不是:

while (!feof($con))  
    $response = stream_get_line($con, 100, "\n"); 
 

我用过:

while (($buffer = fgets($con, 5)) !== false) 
    $total .= $buffer;

【讨论】:

以上是关于有没有办法“收听”到 Telnet 流?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法收听 FragmentManager 的 FragmentTransactions?

有没有办法检查是不是有人收听 dbus 信号?

有没有办法向 telnet 设备发送 GET 请求? [关闭]

Objective C/IOS - 将音频流保存到文件

有没有办法将 telnet 会话输出作为邮递员测试脚本的一部分?

有没有办法让文件流下载到 Blazor 中的浏览器?