次のようなbashスクリプトを書いているとき:
#!/bin/bash
nc localhost [pseudoport]
echo "test"
サーバーに接続しますが、「test」というテキストは送信しません。
で動作します
#!/bin/bash
echo "test" | nc localhost [pseudoport]
ここでの問題は、何かを受信した後に接続が終了することです。
複数のメッセージを送信するにはどうすればよいですか?私の場合、固定プリアンブルの後に可変データが続きますか?
私はここでこれを行う方法を見つけました: netcatを使用してソケットにコマンドを送信
送信したいメッセージをテキストファイル(msg.txt
と言う)に入れてから、
nc localhost [pseudoport] < msg.txt
テキストファイルは次のようになります。
message1
message2
message3
...
すべてのメッセージは新しい行にある必要があります。
私が投稿したリンクは、ここで行われている方法でこれを行う必要がある理由をよりよく説明しています(重複記事には説明がありません)。