Ubuntu

使用 netcat 在 localhost 上設置綁定 shell,但 ‘-e’ 標誌有問題

  • August 31, 2021

我正在嘗試做一個簡單的練習,我需要使用 netcat 設置一個託管綁定 shell 的“伺服器”。在我的本地主機上。我正在執行 ubuntu 20.04

我正在關注教程,它有一條簡單的路線:

nc -nvlp 5555 -e /bin/bash

但是,當我複制粘貼這一位時,netcat 被-e標誌弄糊塗了:

netcat: invalid option -- 'e'

刪除-e標誌也沒有多大幫助。在這種情況下,netcat 只列印它的使用說明。我哪裡錯了?

編輯

檢查我的 netcat 版本:

ask@Garsy:~$ netcat -h
OpenBSD netcat (Debian patchlevel 1.206-1ubuntu1)

並非每個版本都netcat包含該-e {command}選項。例如,在我的 Debian版本中,man netcat我安裝的 OpenBSD 派生版本的文件(請參閱 參考資料)這樣寫道,

this中沒有-cor-e選項netcat,但您仍然可以通過重定向文件描述符建立連接後執行命令。在這裡要小心,因為打開埠並讓任何連接的人在您的站點上執行任意命令是危險的。如果你真的需要這樣做,這裡有一個例子

然後通過幾個範例繼續展示如何實現命令重定向。

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