NCリスニングの代わりに/dev/tcpリスニング

NCリスニングの代わりに/dev/tcpリスニング

たとえば、netcat リスナーを使用します。

nc -l <port> < ~/.bashrc

以下を使用して、新しいシステム(LDAPなし)から私のnc.bashrcをインポートできます。

cat < /dev/tcp/<ip>/<port> > ~/.bashrc

nc -l <port>私の質問は:最初の行の機能を模倣せずに/ dev / tcpを使用する方法はありますかnc

私が使用しているマシンは、非常に強化されたラップ/サンドボックス環境RHELです(Sshなし、NCなし、LDAPなし、yumなし、新しいソフトウェアをインストールできず、インターネットに接続されていません)。

ベストアンサー1

残念ながら、これはbashだけでは不可能です。/dev/tcp/<ip>/<port>仮想ファイルの実装方法は、 bash が指定された<ip>:<port>使用connect(2)関数に接続しようとすることです。リスニングソケットを生成するには、bind(2)関数を呼び出す必要があります。

ソースコードをダウンロードして調べてみると確認bashできます。これはlib/sh/netopen.c、ファイルの関数_netopen4(またはIPv6もサポートする_netopen6)で実装されています。この関数は、同じファイルのラッパー関数によって使用され、仮想リダイレクトを実装するためにnetopenファイルredir.c(関数)で直接使用されます。redir_special_open

コンピュータでリスニングソケットを作成できる他のアプリケーションを探す必要があります。

おすすめ記事