netcatを使用してクライアントからシェルを作成するには?

netcatを使用してクライアントからシェルを作成するには?

以下を使用して、サーバー側でシェルを作成できることを知っています。

nc -l 1111 -e /bin/bash

しかし、クライアント側でシェルを作成したいと思います。

私はこれを試みます:nc 127.0.0.1 1111 | /bin/bash

動作しますが、コマンド実行結果は表示されません。

もしそうなら、問題はnetcatを使用してクライアント側にシェルを作成する方法があるかどうかです。

答え1

私に合うようですが、netcatのバージョンによって異なります。 Debianパッケージは次のとおりです。Netcat - 伝統的「そして」netcat-openbsd前者は-eクライアントモードとサーバーモードの両方をサポートしていますが、後者はまったくサポートしていません。

$ nc.traditional localhost 1234 -e /bin/bash

$ nc.openbsd localhost 1234 -e /bin/bash
nc.openbsd: invalid option -- 'e'

私のOSXもこれをサポートしていません。

これを行うためにサポートされていないnetcatを使用する必要がある場合は、-e次のようにする必要があります。2つのプログラム間で双方向パイプを作成する方法は?

関連情報