尝试使用 nc 命令测试服务已启动

Bla*_*man 4 networking monitoring netcat

我正在尝试使用 nc 测试服务是否已启动并正在运行。

echo ruok | nc 127.0.0.1 5111
Run Code Online (Sandbox Code Playgroud)

但我得到这个回应:

This is nc from the netcat-openbsd package. An alternative nc is available
in the netcat-traditional package.
usage: nc [-46DdhklnrStUuvzC] [-i interval] [-P proxy_username] [-p source_port]
      [-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_protocol]
      [-x proxy_address[:port]] [hostname] [port[s]]
Run Code Online (Sandbox Code Playgroud)

我不确定如何使用这个“替代 nc”,有人可以向我解释一下吗?

我试过:

echo ruok | nc -s 127.0.0.1 -p 5111  
Run Code Online (Sandbox Code Playgroud)

但我收到了同样的信息。

Jos*_*Jos 5

你有正确的 nc。您可以通过输入apt-cache policy netcatwhich 应该为您提供 netcat 的已安装和候选版本来验证。
您得到的响应表明您没有正确输入命令,因此请验证您是否按上述方式尝试了该命令。如果本地主机上的 5111 端口没有运行任何进程,您将不会收到任何输出。
带有 -s 和 -p 参数的版本的工作方式有所不同。这些分别是源地址和端口参数,而不是目标地址和端口。由于您尚未指定目标,因此在这种情况下不会发送任何内容。