客户端连接时出现 Ncat "bad file descriptor" 错误
Ncat "bad file descriptor" error upon client connection
问题
我一直在尝试使用 Ncat 查看 CentOS 虚拟机上的一些 TCP 流量。但是,在这台特定的机器上,我什至无法建立简单的 server/client 通信。
我打开一个 TCP 套接字作为 "server" 或侦听器(如果我用错了正确的术语,请原谅我)
1 号航站楼:
$ ncat -l 12345
然后,在一个单独的终端中,我启动客户端连接并尝试发送一个随机字符串:
2 号航站楼:
$ ncat my_hostname 13245
<Random string to send>
这会从我的 TCP "server"
引发以下错误
1 号航站楼:
close: Bad file descriptor
2 号航站楼:
Ncat: Broken pipe.
我已经 运行 通过 cygwin 执行了这个确切的命令序列,它们工作正常。我不确定是什么原因造成的(除非是缺少 root 权限?见下文)。寻找调试的东西。如果它是 root 权限或者可能是我如何在没有 root 权限的情况下验证它?
额外(相关?)信息
我有运行
$ Ncat my_hostname <port that I know has a TCP connection>
它输出了很多乱码。同时,当我尝试使用 tcpflow 监听同一个端口时,它告诉我我没有权限。那么,这可能只是 Ncat 没有明确告诉我的权限问题吗?我在这台机器上没有 root 权限,所以我无法测试这个假设
我遇到了同样的问题。
我通过指定协议族版本解决了这个问题。
nc -4 // 使用 ipv4
你可以试试
问题
我一直在尝试使用 Ncat 查看 CentOS 虚拟机上的一些 TCP 流量。但是,在这台特定的机器上,我什至无法建立简单的 server/client 通信。
我打开一个 TCP 套接字作为 "server" 或侦听器(如果我用错了正确的术语,请原谅我)
1 号航站楼:
$ ncat -l 12345
然后,在一个单独的终端中,我启动客户端连接并尝试发送一个随机字符串:
2 号航站楼:
$ ncat my_hostname 13245
<Random string to send>
这会从我的 TCP "server"
引发以下错误1 号航站楼:
close: Bad file descriptor
2 号航站楼:
Ncat: Broken pipe.
我已经 运行 通过 cygwin 执行了这个确切的命令序列,它们工作正常。我不确定是什么原因造成的(除非是缺少 root 权限?见下文)。寻找调试的东西。如果它是 root 权限或者可能是我如何在没有 root 权限的情况下验证它?
额外(相关?)信息
我有运行
$ Ncat my_hostname <port that I know has a TCP connection>
它输出了很多乱码。同时,当我尝试使用 tcpflow 监听同一个端口时,它告诉我我没有权限。那么,这可能只是 Ncat 没有明确告诉我的权限问题吗?我在这台机器上没有 root 权限,所以我无法测试这个假设
我遇到了同样的问题。 我通过指定协议族版本解决了这个问题。 nc -4 // 使用 ipv4 你可以试试