Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

socatコマンドでリモート先にTCPで通信する

サーボにせよセンサーにせよ、だんだんとEthanet対応の機器が増えてます。
こういうのに繋ぐツールとしてはnetcat/ncコマンドがありますね。
これの上位版……というか、高機能版としてsocatというのもあります。

実際のところ

デフォ設定のまま192.168.1.31:5300からくるパケットを受け取るには以下のように

 $ socat TCP4:192.168.1.31:5300 STDOUT

特にアドレスを指定しないなら

$ socat TCP4-LISTEN:5300 STDOUT

逆に、こちらの入力を先に送るパターンもいけます。

 $ socat STDIN TCP4:192.168.1.31:5400

他にもファイルを開いて実行したりと、中々高機能です。

netcatコマンドとの違い??

冒頭の通り、単純に送受信するだけなら、netcatがあります。
socatはシリアルポートへの接続やらシェルコマンドへの引き渡しやらと充実したオプションがあり、
netcatは比較的シンプルな構成になっているのが特徴といえます。
shuzo-kino.hateblo.jp