たとえば、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
コンピュータでリスニングソケットを作成できる他のアプリケーションを探す必要があります。