ncat、nc 和 netcat 之间有什么区别?

ncat、nc 和 netcat 之间有什么区别?

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

事实上我有点困惑。我的问题来自于想要在两台 CentOS 7 服务器之间进行网络速度测试。我遇到过几个使用ncand的例子,但使用or 的dd例子不多。netcatncat

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

答案1

ncnetcat是同一程序的两个名称(通常,一个是另一个的符号链接)。不过,由于存在大量混淆,Netcat 有两种不同的实现(“传统”和“OpenBSD”),并且它们采用不同的选项并具有不同的功能。

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

但是,如果您想要进行网络速度测试,那么全部以上均为错误答案。您正在寻找 iperf3 (站点 1或者站点2或者代码)。

答案2

查看Debian中的数据包,netcat( nc)有两种不同的实现,我思考它们都安装并符号netcat链接nc到相同的二进制文件(尽管它们使用 Debian 的“替代”系统来控制哪一个实现与主名称一起出现。)这两个是netcat-traditional(“经典”netcat,作者:霍比特人。它缺乏 netcat-openbsd 中的许多功能。”)和netcat-openbsd(“OpenBSD 重写了 netcat,包括对 IPv6、代理和 Unix 套接字的支持。”)。

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

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

答案3

ncat 支持 SSL,这非常适合测试 https 会话。 nc/netcat 要求您使用“openssl s_client ...”

相关内容