クライアントソケットを開き、ソケットからすべてを読み込み、ソケットを閉じるための簡単なbashコマンドを探しています。ソケットのためのwgetやカールのようなもの。ネットワークソケットから読み取るbashコマンド?
これを行うにはBashにコマンドがありますか?私はbashスクリプトを書く必要がありますか?
クライアントソケットを開き、ソケットからすべてを読み込み、ソケットを閉じるための簡単なbashコマンドを探しています。ソケットのためのwgetやカールのようなもの。ネットワークソケットから読み取るbashコマンド?
これを行うにはBashにコマンドがありますか?私はbashスクリプトを書く必要がありますか?
Netcatは、これを行うために通常使用されるツールですが、/dev/tcp
and /dev/udp
special pathnamesでも行うことができます。
ncを使用します。その迅速かつ簡単。 NCは、5秒、最大を待機する
echo "GET /files/a_file.mp3 HTTP/1.0" | nc -w 5 192.168.0.2 999 > /tmp/the_file.mp3
スイッチ-w 5
状態:それをリソースの要求を送信、ポート999でクライアント192.168.0.2に接続し、ディスクにそのリソースを保存するには、次の手順を実行します応答。 ncがダウンロードされると、ソケットは閉じられます。
あなたはもっと複雑なリクエストを送信する場合は、あなたが、それを書く「reqest」をファイルに保存して、NCにパイプを通してファイルを猫しgeditのか、いくつかの他のテキストエディタを使用することができます。
cat request.txt | nc -w 5 192.168.0.2 999 > /tmp/the_file.mp3
これは1行のコマンドなので、スクリプトを書く必要はありません...しかし、頻繁に使用する場合は、スクリプトを書くことが必須です!
希望しました。 :)
既に言及したnetcat(nc
)はシンプルで強力です。しかし、さらに強力なツールが必要な場合:socat。