ncat、nc 和 netcat 有什么区别?

Poz*_*nux 36 centos netcat nc

我不确定何时使用nc,netcatncat。如果一个是另一个的弃用版本?如果一个仅在一个发行版上可用?如果它是相同的命令但名称不同?

其实我有点困惑。我的问题来自想要在两台 CentOS 7 服务器之间进行网络速度测试。我遇到了几个使用nc和 的例子,dd但使用netcat或 的例子并不多ncat

有人可以为我澄清一下吗?

der*_*ert 33

ncnetcat是同一个程序的两个名称(通常,一个是另一个的符号链接)。尽管——对于很多困惑——有两种不同的 Netcat 实现(“传统”和“OpenBSD”),它们采用不同的选项并具有不同的功能。

Ncat 是同样的想法,但来自 Nmap 项目。还有socat,这是一个类似的想法。还有/dev/tcp一个(可选的)Bash 功能。

但是,如果您要进行网络速度测试,那么以上所有答案都是错误的。您正在寻找 iperf3(站点 1站点 2代码)。

  • @Pozinux dd/nc 应该给你一个平均带宽,但没有任何额外的有用信息 iperf3 给你(它是否稳定,它是否经历了 TCP 慢启动,是否有重传等)。所有这些对于解决意外的低带宽问题非常有用(几乎是必需的),甚至可以理解“您有 X mbps”的含义。 (4认同)

ilk*_*chu 8

看着在Debian的包,还有的netcat(两种不同的实现nc),我觉得他们都与安装netcat以及nc符号链接到同一个二进制文件(尽管他们使用Debian的“替代品”系统来控制其执行出现与之一主要名称。)这两个是netcat-traditional(“经典的”netcat,由霍比特人编写。它缺少 netcat-openbsd 中的许多功能。”)和netcat-openbsd(“netcat 的 OpenBSD 重写,包括对 IPv6、代理和 Unix 的支持插座。”)。

ncat来自 Nmap 项目netcat版本,声称是“对古老的 Netcat 进行了大幅改进的重新实现”。

所有这三个似乎都具有相同的基本功能,例如能够打开套接字并连接或侦听,但对于以上任何内容,您可能需要查看您版本的手册。(例如,OpenBSD 不支持-e在连接后执行命令。)