“netcat”在 Arch 上没有按预期工作,但在 openSUSE Tumbleweed 上工作?这是怎么回事?

“netcat”在 Arch 上没有按预期工作,但在 openSUSE Tumbleweed 上工作?这是怎么回事?

我在使用 Arch 时遇到了一些麻烦netcat,特别是它的 GNU 版本。

我的情况:我基本上用Python制作了一个简单的服务器,它可以接受多个客户端并发送响应。为了测试输入/输出,我制作了很多自动化测试脚本,这些脚本将数据发送netcat到服务器并将输出与预期进行比较。

在我开发服务器和测试用例的环境(openSUSE Tumbleweed)上,netcat通过管道将文本传输到 GNU

回显“文本”| netcat -w 2 -i 2ip 港口> 一些文件.out

按预期工作 -netcat将数据发送到服务器,获取响应并将其重定向到文件。然而,在 Arch 上,-w或标志似乎几乎-i没有做任何事情 -netcat只是无限期地保持连接,直到我必须手动关闭连接。即使当我单独尝试这些标志时,它也表现出类似的行为。

我尝试使用另一种方法timeout 2 netcat ...,它确实停止netcat运行,但由于某种原因也停止了我的整个脚本并阻止进一步的调用netcat运行。

无奈之下,我什至尝试netcat从源代码编译GNU,但仍然遇到问题。我尝试在互联网上搜索其他有类似问题的人,但找不到任何符合我情况的内容。

有人知道发生了什么事吗?我感觉我快要失去理智了。当然,它在不同发行版之间的工作方式不应该有所不同,除非我误解了什么?

相关内容