Linux

奇怪的 netcat(OpenBSD 版本)行為

  • December 3, 2017

我使用的是 Ubuntu 伺服器 16.04.3,它帶有 OpenBSD 版本的 netcat。

我之前在 Fedora 中使用過 OpenBSD 版本的 netcat,在 Fedora 中我不能使用-p帶有選項的-l選項,例如以下是非法的:

nc -l -p 12345

但在 Ubuntu 伺服器 16.04.3 中,上述命令有效(“有效”,我的意思是 netcat 開始監聽)!

即使man nc在 Ubuntu 伺服器 16.04.3 本身上說它是非法的:

在此處輸入圖像描述

為什麼會這樣?!

這是因為 Debian/Ubuntu 版本的“netcat-openbsd”實際上不是OpenBSD 程式碼。它是 OpenBSD 程式碼,對 Debian/Ubuntu 進行了重大修改,尚未發回給原始軟體的維護者。

其中一項更改是由 Debian 人員 Aron Xu 編寫的,它可以將-p選項與選項一起使用-l。和往常一樣,這個更新檔只是完成了一半的工作,並沒有修復 doco 以匹配程序。

如文件所述,使用香草程序,這是不可能的。

進一步閱讀

引用自:https://unix.stackexchange.com/questions/408521