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 ...”

相關內容